總結(jié)Visual Studio下ASP.NET模板化控件中的數(shù)據(jù)綁定
在模板化控件中綁定到數(shù)據(jù)
FormView、DataList、Repeater 和 ListView Web 服務(wù)器控件使用模板顯示數(shù)據(jù)和檢索用戶(hù)輸入,以插入、更新或刪除數(shù)據(jù)。此外,您還可以將模板與 GridView 和 DetailsView 控件一同使用,以自定義數(shù)據(jù)布局。
通過(guò)將模板化控件的 DataSourceID 屬性設(shè)置為數(shù)據(jù)源控件的 ID,可以將模板化控件綁定到數(shù)據(jù)源控件(例如 LinqDataSource、ObjectDataSource 或 SqlDataSource 控件)。然后可以在模板中使用 Eval 和 Bind 函數(shù)綁定到數(shù)據(jù)源中的數(shù)據(jù)。有關(guān)更多信息,請(qǐng)參見(jiàn) 數(shù)據(jù)綁定表達(dá)式語(yǔ)法。
使用模板將控件綁定到數(shù)據(jù)
1.向頁(yè)添加數(shù)據(jù)源控件(如 SqlDataSource 控件),如下面的示例所示:
<asp:SqlDataSource ID="SqlDataSource1" SelectCommand="SELECT * FROM [Products]" ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>" RunAt="server"> </asp:SqlDataSource>
2.添加一個(gè)支持模板的控件,如 ASP.NET FormView 控件。
3.將模板化控件的 DataSourceID 屬性設(shè)置為步驟 1 中數(shù)據(jù)源控件的 ID,如此示例中所示:
<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" Runat="server"> </asp:FormView>
4.向模板化控件添加模板并使用控件和標(biāo)記填充這些模板。
5.若要顯示數(shù)據(jù),請(qǐng)將 Eval 函數(shù)作為屬性設(shè)置使用,并引用綁定數(shù)據(jù)字段。在用于插入或編輯數(shù)據(jù)的模板中,使用 Bind 函數(shù)引用數(shù)據(jù)綁定字段,如以下示例所示:
<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>
每個(gè) Web 服務(wù)器控件支持不同的模板。例如,Repeater 控件支持一個(gè) ItemTemplate 和一個(gè) AlternatingItemTemplate,以使用交替控件、樣式和標(biāo)記來(lái)顯示數(shù)據(jù)。
綁定到Visual Studio的模板化控件中的數(shù)據(jù)
可以將一個(gè)控件(例如 GridView、DetailsView、FormView、ListView、DataList 或 Repeater 控件)與一個(gè)數(shù)據(jù)源控件(例如 LinqDataSource、ObjectDataSource 或 SqlDataSource 控件)關(guān)聯(lián)起來(lái)。此外還可以使用控件的模板(ListView、DataList、Repeater 和 FormView 控件需要模板)在設(shè)計(jì)器中通過(guò)自定義用戶(hù)界面 (UI) 來(lái)自定義數(shù)據(jù)表示形式。
此主題演示如何將用戶(hù)界面控件(如 TextBox 控件)添加到模板中并將該控件綁定到特定數(shù)據(jù)。
將模板控件綁定到數(shù)據(jù)源
1.在頁(yè)上建立有效的數(shù)據(jù)源(如 SqlDataSource 控件),并注意 ID 屬性值。
例如:
<asp:SqlDataSource ID="SqlDataSource1" Runat="server" SelectCommand="SELECT CustomerID, CompanyName FROM Customers" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"> </asp:SqlDataSource>
2.從工具箱的“數(shù)據(jù)”組中,將 DataList 控件拖動(dòng)到頁(yè)面上。
出現(xiàn)“DataList 任務(wù)”快捷菜單。
如果“DataList 任務(wù)”快捷菜單沒(méi)有出現(xiàn),右擊 DataList 控件,再單擊“顯示智能標(biāo)記”。
3.在“選擇數(shù)據(jù)源”列表中,單擊在步驟 1 中創(chuàng)建的 SqlDataSource 控件。
當(dāng)呈現(xiàn)該頁(yè)時(shí),該控件會(huì)顯示來(lái)自未自定義的查詢(xún)的所有列和數(shù)據(jù)。根據(jù)數(shù)據(jù)的不同,顯示的 DataList 控件將帶有默認(rèn)綁定字段,如下面的代碼示例所示:
<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.在“設(shè)計(jì)”視圖中右擊 DataList 控件,再單擊“顯示智能標(biāo)記”。
2.在“DataList 任務(wù)”菜單上單擊“編輯模板”。
現(xiàn)在可以在設(shè)計(jì)器中編輯模板??梢詫⑵渌丶蟿?dòng)到模板上以便以后進(jìn)行綁定。
3.在“顯示”列表中單擊“AlternatingItemTemplate”(不同的控件支持不同的模板)。
4.在 AlternatingItemTemplate 設(shè)計(jì)空間中鍵入 CustomerID:,然后從“工具箱”的“標(biāo)準(zhǔn)”組中將一個(gè) T:System.Web.UI.WebControls.Label 控件拖動(dòng)到 DataList 控件上。
5.在“Label 任務(wù)”菜單上單擊“編輯數(shù)據(jù)綁定”。
6.在“標(biāo)簽名 數(shù)據(jù)綁定”對(duì)話(huà)框中的“可綁定屬性”下,單擊“Text”。
7.在“綁定到”列表中的“文本的綁定”下單擊“CustomerID”。
8.為 CompanyName 重復(fù)第 4 步到第 7 步。
9.在“AlternatingItemTemplate”設(shè)計(jì)空間中,選擇所有內(nèi)容,然后按 Ctrl+B 將文本更改為粗體。
10.右擊 DataList 控件,然后單擊“顯示智能標(biāo)記”。
11.單擊“結(jié)束模板編輯”退出模板編輯模式。
當(dāng)該頁(yè)在瀏覽器中顯示時(shí),公司列表會(huì)交替顯示為純文本和粗體文本。
- 淺談ASP.NET常用數(shù)據(jù)綁定控件優(yōu)劣總結(jié)
- 詳解ASP.NET數(shù)據(jù)綁定操作中Repeater控件的用法
- ASP.NET數(shù)據(jù)綁定GridView控件使用技巧
- ASP.NET數(shù)據(jù)綁定之Repeater控件
- ASP.NET數(shù)據(jù)綁定之GridView控件
- ASP.NET數(shù)據(jù)綁定之DataList控件實(shí)戰(zhàn)篇
- ASP.NET數(shù)據(jù)綁定之DataList控件
- AspNetAjaxPager,Asp.Net通用無(wú)刷新Ajax分頁(yè)控件,支持多樣式多數(shù)據(jù)綁定
- ASP.NET數(shù)據(jù)綁定控件詳解
相關(guān)文章
ASP.NET數(shù)據(jù)綁定之GridView控件
這篇文章主要為大家介紹了ASP.NET數(shù)據(jù)綁定中的GridView控件,GridView控件的功能是在web頁(yè)面中顯示數(shù)據(jù)源中的數(shù)據(jù),對(duì)GridView控件感興趣的小伙伴們可以參考一下2016-01-01
ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0)
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0),感興趣的小伙伴們可以參考一下2016-07-07
c# rabbitmq 簡(jiǎn)單收發(fā)消息的示例代碼
這篇文章主要介紹了c# rabbitmq 簡(jiǎn)單收發(fā)消息的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
ASP.NET比較常用的26個(gè)性能優(yōu)化技巧
這篇文章主要給大家介紹asp.net中比較常用的26個(gè)性能優(yōu)化技巧,主要設(shè)計(jì)到asp.net中常用的26個(gè)性能優(yōu)化方面的內(nèi)容,對(duì)于asp.net中常用的26個(gè)性能優(yōu)化技巧感興趣的朋友可以參考下本篇文章2015-10-10
http轉(zhuǎn)https的實(shí)戰(zhàn)記錄(iis 7.5)
這篇文章主要給大家介紹了關(guān)于http轉(zhuǎn)https的相關(guān)資料,文中是最近的一次實(shí)戰(zhàn)記錄,基于iis7.5,通過(guò)一步步的圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2018-01-01
asp.net ajaxControlToolkit ValidatorCalloutExtender的簡(jiǎn)單用法
今天偶爾用到這個(gè)控件,簡(jiǎn)單記錄下~~~~2008-11-11
詳解ASP.NET Core部署項(xiàng)目到Ubuntu Server
這篇文章主要介紹了詳解ASP.NET Core部署項(xiàng)目到Ubuntu Server ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
ASP.NET MVC獲取多級(jí)類(lèi)別組合下的產(chǎn)品
這篇文章介紹了ASP.NET MVC獲取多級(jí)類(lèi)別組合下產(chǎn)品的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09

