程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> 總結Visual Studio下ASP.NET模板化控件中的數據綁定

總結Visual Studio下ASP.NET模板化控件中的數據綁定

編輯:ASP.NET基礎

在模板化控件中綁定到數據
FormView、DataList、Repeater 和 ListView Web 服務器控件使用模板顯示數據和檢索用戶輸入,以插入、更新或刪除數據。此外,您還可以將模板與 GridView 和 DetailsView 控件一同使用,以自定義數據布局。
通過將模板化控件的 DataSourceID 屬性設置為數據源控件的 ID,可以將模板化控件綁定到數據源控件(例如 LinqDataSource、ObjectDataSource 或 SqlDataSource 控件)。然後可以在模板中使用 Eval 和 Bind 函數綁定到數據源中的數據。有關更多信息,請參見 數據綁定表達式語法。
使用模板將控件綁定到數據
1.向頁添加數據源控件(如 SqlDataSource 控件),如下面的示例所示:

<asp:SqlDataSource ID="SqlDataSource1" 
 SelectCommand="SELECT * FROM [Products]"
 ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>"
 RunAt="server">
</asp:SqlDataSource>

2.添加一個支持模板的控件,如 ASP.NET FormView 控件。
3.將模板化控件的 DataSourceID 屬性設置為步驟 1 中數據源控件的 ID,如此示例中所示:

<asp:FormView ID="FormView1"
 DataSourceID="SqlDataSource1"
 DataKeyNames="ProductID"   
 Runat="server">
</asp:FormView>

4.向模板化控件添加模板並使用控件和標記填充這些模板。
5.若要顯示數據,請將 Eval 函數作為屬性設置使用,並引用綁定數據字段。在用於插入或編輯數據的模板中,使用 Bind 函數引用數據綁定字段,如以下示例所示:

<asp:FormView ID="FormView1"
 DataSourceID="SqlDataSource1"
 DataKeyNames="ProductID"   
 RunAt="server">

 <ItemTemplate>
  <table>
   <tr><td align="right"><b>Product ID:</b></td>    <td><%# Eval("ProductID") %></td></tr>
   <tr><td align="right"><b>Product Name:</b></td>   <td><%# Eval("ProductName") %></td></tr>
   <tr><td align="right"><b>Category ID:</b></td>   <td><%# Eval("CategoryID") %></td></tr>
   <tr><td align="right"><b>Quantity Per Unit:</b></td><td><%# Eval("QuantityPerUnit") %></td></tr>
   <tr><td align="right"><b>Unit Price:</b></td>    <td><%# Eval("UnitPrice") %></td></tr>
  </table>         
 </ItemTemplate>         
</asp:FormView>

每個 Web 服務器控件支持不同的模板。例如,Repeater 控件支持一個 ItemTemplate 和一個 AlternatingItemTemplate,以使用交替控件、樣式和標記來顯示數據。

綁定到Visual Studio的模板化控件中的數據
可以將一個控件(例如 GridView、DetailsView、FormView、ListView、DataList 或 Repeater 控件)與一個數據源控件(例如 LinqDataSource、ObjectDataSource 或 SqlDataSource 控件)關聯起來。此外還可以使用控件的模板(ListView、DataList、Repeater 和 FormView 控件需要模板)在設計器中通過自定義用戶界面 (UI) 來自定義數據表示形式。
此主題演示如何將用戶界面控件(如 TextBox 控件)添加到模板中並將該控件綁定到特定數據。
將模板控件綁定到數據源
1.在頁上建立有效的數據源(如 SqlDataSource 控件),並注意 ID 屬性值。
例如:

<asp:SqlDataSource ID="SqlDataSource1" Runat="server" 
 SelectCommand="SELECT CustomerID, CompanyName FROM Customers"
 ConnectionString="<%$ 
  ConnectionStrings:NorthwindConnectionString %>">
</asp:SqlDataSource>

有關如何將 SqlDataSource 控件用於數據庫的更多信息,請參見 SqlDataSource Web 服務器控件概述。
2.從工具箱的“數據”組中,將 DataList 控件拖動到頁面上。
出現“DataList 任務”快捷菜單。
如果“DataList 任務”快捷菜單沒有出現,右擊 DataList 控件,再單擊“顯示智能標記”。
3.在“選擇數據源”列表中,單擊在步驟 1 中創建的 SqlDataSource 控件。
當呈現該頁時,該控件會顯示來自未自定義的查詢的所有列和數據。根據數據的不同,顯示的 DataList 控件將帶有默認綁定字段,如下面的代碼示例所示:
<asp:DataList ID="DataList1" runat="server" 
  DataKeyField="CustomerID" 
  DataSourceID="SqlDataSource1">
 <ItemTemplate>
  CustomerID:
  <asp:Label ID="CustomerIDLabel" runat="server" 
    Text='<%# Eval("CustomerID") %>'>
  </asp:Label><br />
  CompanyName:
  <asp:Label ID="CompanyNameLabel" runat="server" 
    Text='<%# Eval("CompanyName") %>'>
  </asp:Label><br />
  <br />
 </ItemTemplate>
</asp:DataList>
編輯控件的模板
1.在“設計”視圖中右擊 DataList 控件,再單擊“顯示智能標記”。
2.在“DataList 任務”菜單上單擊“編輯模板”。
現在可以在設計器中編輯模板。可以將其他控件拖動到模板上以便以後進行綁定。
3.在“顯示”列表中單擊“AlternatingItemTemplate”(不同的控件支持不同的模板)。
4.在 AlternatingItemTemplate 設計空間中鍵入 CustomerID:,然後從“工具箱”的“標准”組中將一個 T:System.Web.UI.WebControls.Label 控件拖動到 DataList 控件上。
5.在“Label 任務”菜單上單擊“編輯數據綁定”。
6.在“標簽名 數據綁定”對話框中的“可綁定屬性”下,單擊“Text”。
7.在“綁定到”列表中的“文本的綁定”下單擊“CustomerID”。
8.為 CompanyName 重復第 4 步到第 7 步。
9.在“AlternatingItemTemplate”設計空間中,選擇所有內容,然後按 Ctrl+B 將文本更改為粗體。
10.右擊 DataList 控件,然後單擊“顯示智能標記”。
11.單擊“結束模板編輯”退出模板編輯模式。
當該頁在浏覽器中顯示時,公司列表會交替顯示為純文本和粗體文本。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved