總結(jié)Visual Studio下ASP.NET模板化控件中的數(shù)據(jù)綁定
來源:易賢網(wǎng) 閱讀:883 次 日期:2016-08-06 13:44:57
溫馨提示:易賢網(wǎng)小編為您整理了“總結(jié)Visual Studio下ASP.NET模板化控件中的數(shù)據(jù)綁定”,方便廣大網(wǎng)友查閱!

.NET框架中提供了很多數(shù)據(jù)綁定的組件,這里我們就來總結(jié)Visual Studio下ASP.NET模板化控件中的數(shù)據(jù)綁定,需要的朋友可以參考下

在模板化控件中綁定到數(shù)據(jù)

FormView、DataList、Repeater 和 ListView Web 服務(wù)器控件使用模板顯示數(shù)據(jù)和檢索用戶輸入,以插入、更新或刪除數(shù)據(jù)。此外,您還可以將模板與 GridView 和 DetailsView 控件一同使用,以自定義數(shù)據(jù)布局。

通過將模板化控件的 DataSourceID 屬性設(shè)置為數(shù)據(jù)源控件的 ID,可以將模板化控件綁定到數(shù)據(jù)源控件(例如 LinqDataSource、ObjectDataSource 或 SqlDataSource 控件)。然后可以在模板中使用 Eval 和 Bind 函數(shù)綁定到數(shù)據(jù)源中的數(shù)據(jù)。有關(guān)更多信息,請(qǐng)參見 數(shù)據(jù)綁定表達(dá)式語法。

使用模板將控件綁定到數(shù)據(jù)

1.向頁添加數(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)記來顯示數(shù)據(jù)。

綁定到Visual Studio的模板化控件中的數(shù)據(jù)

可以將一個(gè)控件(例如 GridView、DetailsView、FormView、ListView、DataList 或 Repeater 控件)與一個(gè)數(shù)據(jù)源控件(例如 LinqDataSource、ObjectDataSource 或 SqlDataSource 控件)關(guān)聯(lián)起來。此外還可以使用控件的模板(ListView、DataList、Repeater 和 FormView 控件需要模板)在設(shè)計(jì)器中通過自定義用戶界面 (UI) 來自定義數(shù)據(jù)表示形式。

此主題演示如何將用戶界面控件(如 TextBox 控件)添加到模板中并將該控件綁定到特定數(shù)據(jù)。

將模板控件綁定到數(shù)據(jù)源

1.在頁上建立有效的數(shù)據(jù)源(如 SqlDataSource 控件),并注意 ID 屬性值。

例如:

<asp:SqlDataSource ID="SqlDataSource1" Runat="server"

 SelectCommand="SELECT CustomerID, CompanyName FROM Customers"

 ConnectionString="<%$ 

  ConnectionStrings:NorthwindConnectionString %>">

</asp:SqlDataSource>

有關(guān)如何將 SqlDataSource 控件用于數(shù)據(jù)庫的更多信息,請(qǐng)參見 SqlDataSource Web 服務(wù)器控件概述。

2.從工具箱的“數(shù)據(jù)”組中,將 DataList 控件拖動(dòng)到頁面上。

出現(xiàn)“DataList 任務(wù)”快捷菜單。

如果“DataList 任務(wù)”快捷菜單沒有出現(xiàn),右擊 DataList 控件,再單擊“顯示智能標(biāo)記”。

3.在“選擇數(shù)據(jù)源”列表中,單擊在步驟 1 中創(chuàng)建的 SqlDataSource 控件。

當(dāng)呈現(xiàn)該頁時(shí),該控件會(huì)顯示來自未自定義的查詢的所有列和數(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ì)話框中的“可綁定屬性”下,單擊“Text”。

7.在“綁定到”列表中的“文本的綁定”下單擊“CustomerID”。

8.為 CompanyName 重復(fù)第 4 步到第 7 步。

9.在“AlternatingItemTemplate”設(shè)計(jì)空間中,選擇所有內(nèi)容,然后按 Ctrl+B 將文本更改為粗體。

10.右擊 DataList 控件,然后單擊“顯示智能標(biāo)記”。

11.單擊“結(jié)束模板編輯”退出模板編輯模式。

當(dāng)該頁在瀏覽器中顯示時(shí),公司列表會(huì)交替顯示為純文本和粗體文本。

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)