如何:绑定到 Visual Studio 的模板化控件中的数据

更新:2007 年 11 月

您可以将一个控件(例如 GridViewDetailsViewFormViewListViewDataListRepeater 控件)与一个数据源控件(例如 LinqDataSourceObjectDataSourceSqlDataSource 控件)关联起来。此外还可以使用控件的模板(ListViewDataListRepeaterFormView 控件需要模板)在设计器中通过自定义用户界面 (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. 单击**“结束模板编辑”**退出模板编辑模式。

    当该页在浏览器中显示时,公司列表会交替显示为纯文本和粗体文本。

请参见

任务

演练:网页中的基本数据访问

概念

数据源控件概述

SqlDataSource Web 服务器控件概述