Поделиться через


Практическое руководство. Связывание данных в шаблонном элементе управления

Обновлен: Ноябрь 2007

Серверные веб-элементы управления FormView, DataList, Repeater и ListView используют шаблоны для отображения данных и для извлечения введенных пользователем данных, чтобы вставлять, обновлять или удалять данные. Кроме того, для настройки структуры данных можно использовать шаблоны с элементами управления GridView и DetailsView.

Можно привязать шаблонный элемент управления к элементу управления источником данных, такому как элементы управления LinqDataSource, ObjectDataSource или SqlDataSource, присвоив свойству DataSourceID шаблонного элемента управления значение идентификатора элемента управления источником данных. После этого можно использовать функции 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. Присвойте свойству DataSourceID шаблонного элемента управления значение идентификатора элемента управления источником данных из шага 1, как это показано в данном примере:

    <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>
    

    Каждый серверный веб-элемент управления поддерживает различные шаблоны. Например, элемент управления Repeater поддерживает ItemTemplate и AlternatingItemTemplate для отображения данных при помощи переменных элементов управления, стилей и разметки. Дополнительные сведения о серверных веб-элементах управления и поддерживаемых шаблонах см. в разделе Общие сведения о серверных веб-элементах управления ASP.NET с привязкой к данным.

См. также

Задачи

Практическое руководство. Подключение к базе данных ODBC с помощью элемента управления SqlDataSource

Основные понятия

Общие сведения об элементах управления источниками данных