共用方式為


HOW TO:繫結至樣板化控制項中的資料

更新:2007 年 11 月

FormViewDataListRepeaterListView Web 伺服器控制項會使用範本顯示資料,並且擷取使用者輸入以插入、更新或刪除資料。此外,您也可以搭配 GridViewDetailsView 控制項使用範本以自訂資料配置。

您可以將範本化控制項的 DataSourceID 屬性設定為資料來源控制項的 ID,以便將範本化控制項繫結至資料來源控制項,例如 LinqDataSourceObjectDataSourceSqlDataSource 控制項。然後可以使用範本中的 Eval 和 Bind 函式,繫結至資料來源的資料。如需詳細資訊,請參閱資料繫結運算式語法

若要使用範本將控制項繫結至資料

  1. 將資料來源控制項,例如 SqlDataSource 控制項加入網頁,如同下列範例所示:

    <asp:SqlDataSource ID="SqlDataSource1" 
      SelectCommand="SELECT * FROM [Products]"
      ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>"
      RunAt="server">
    </asp:SqlDataSource>
    
    <asp:SqlDataSource ID="SqlDataSource1" 
      SelectCommand="SELECT * FROM [Products]"
      ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>"
      RunAt="server">
    </asp:SqlDataSource>
    
  2. 加入支援範本的控制項,例如 ASP.NET FormView 控制項。

  3. 在步驟 1 中將範本化控制項的 DataSourceID 屬性設定為資料來源控制項的 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>
    
    <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 控制項支援 ItemTemplateAlternatingItemTemplate 以便使用替代控制項、樣式和標記顯示資料。如需 Web 伺服器控制項和支援範本的詳細資訊,請參閱 ASP.NET 資料繫結 Web 伺服器控制項概觀

請參閱

工作

HOW TO:使用 SqlDataSource 控制項連接到 ODBC 資料庫 (Visual Studio)

概念

資料來源控制項概觀