Comment : établir une liaison vers les données d'un contrôle basé sur des modèles

Mise à jour : novembre 2007

Les contrôles serveur Web FormView, DataList, Repeater et ListView utilisent des modèles pour afficher des données et récupérer les entrées d'utilisateur afin d'insérer, de mettre à jour ou de supprimer des données. De plus, vous pouvez utiliser des modèles avec les contrôles GridView et DetailsView pour personnaliser le format des données.

Vous pouvez lier un contrôle basé sur un modèle à un contrôle de source de données tel que le contrôle LinqDataSource, ObjectDataSource ou SqlDataSource en affectant l'ID du contrôle de source de données à la propriété DataSourceID du contrôle basé sur un modèle. Vous pouvez utiliser ensuite les fonctions Eval et Bind au sein du modèle pour effectuer la liaison aux données de la source de données. Pour plus d'informations, consultez Syntaxe d'expression de liaison de données.

Pour lier un contrôle aux données à l'aide de modèles

  1. Ajoutez un contrôle de source de données à la page, par exemple le contrôle SqlDataSource, comme dans l'exemple suivant :

    <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. Ajoutez un contrôle qui prend en charge des modèles, tel que le contrôle ASP.NET FormView.

  3. Affectez l'ID du contrôle de source de données de l'étape 1 à la propriété DataSourceID du contrôle basé sur un modèle, comme dans cet exemple :

    <asp:FormView ID="FormView1"
      DataSourceID="SqlDataSource1"
      DataKeyNames="ProductID"     
      Runat="server">
    </asp:FormView>
    
  4. Ajoutez des modèles au contrôle basé sur un modèle et remplissez-les avec des contrôles et des balises.

  5. Pour afficher les données, utilisez la fonction Eval comme paramètre de propriété et référencez le champ de données lié. Dans les modèles utilisés pour insérer ou modifier des données, utilisez la fonction Bind pour référencer le champ lié aux données, comme dans l'exemple suivant :

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

    Chaque contrôle serveur Web prend en charge des modèles différents. Par exemple, le contrôle Repeater prend en charge un ItemTemplate et un AlternatingItemTemplate pour afficher des données qui utilisent alternativement des contrôles, des styles et des balises. Pour plus d'informations sur contrôles serveur Web et les modèles pris en charge, consultez Vue d'ensemble des contrôles serveur Web liés aux données ASP.NET.

Voir aussi

Tâches

Comment : établir une connexion à une base de données ODBC à l'aide du contrôle SqlDataSource (Visual Studio)

Concepts

Vue d'ensemble des contrôles de source de données