總結Visual Studio下ASP.NET樣板化控制項中的資料繫結_實用技巧

來源:互聯網
上載者:User

在樣板化控制項中綁定到資料
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 伺服器控制項支援不同的模板。例如,重複器控制項支援一個 ItemTemplate 和一個 AlternatingItemTemplate,以使用交替控制項、樣式和標記來顯示資料。

綁定到Visual Studio的樣板化控制項中的資料
可以將一個控制項(例如 GridView、DetailsView、FormView、ListView、DataList 或 重複器控制項)與一個資料來源控制項(例如 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.單擊“結束模板編輯”退出模板編輯模式。
當該頁在瀏覽器中顯示時,公司列表會交替顯示為純文字和粗體文本。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.