Partager via


Syntaxe de modèle inline de contrôle serveur

Spécifie le contenu à inclure ainsi que la disposition et les styles appliqués dans les contrôles serveur ASP.NET qui prennent en charge les modèles.

<templatename>
      Server control, data-binding syntax, other valid markup
</templatename>

Instructions de balisage

  • templatename
    Nom du modèle de contrôle serveur ASP.NET.

Notes

Les modèles peuvent être utilisés pour structurer et appliquer des styles au contenu qui apparaît dans des contrôles serveur ASP.NET. Les développeurs de pages pourront constater toute l'utilité de la syntaxe de modèle inline dans la manipulation de modèles car elle leur permet de concevoir la disposition et le style du contenu d'un contrôle dans une syntaxe déclarative simple au lieu de le faire par programme. Déclaré entre les balises d'ouverture et de fermeture d'un contrôle serveur, un modèle inline permet de déterminer le contenu à inclure, sa disposition et les styles qui lui seront appliqués.

De nombreux contrôles serveur Web ASP.NET prennent en charge des modèles (par exemple, les contrôles Repeater, DataList, Gridview, MultiView, LoginView et Menu prennent tous en charge les modèles, au même titre que les contrôles de zone WebParts, et notamment WebPartZone et CatalogZone). Notez que seuls les modèles spécialement définis pour un contrôle dans le code source de sa classe peuvent être déclarés pour ce contrôle.

Les éléments de modèle doivent être déclarés en tant qu'éléments enfants des contrôles serveur qui les prennent en charge. Un contrôle serveur peut contenir plusieurs éléments de modèle en même temps, chaque modèle utilisé spécifiant les caractéristiques d'une section différente du contenu dans le contrôle. Par exemple, le contrôle Repeater prend en charge des modèles pour spécifier la disposition et l'apparence du contenu dans une section d'en-tête, une section de corps ou d'élément et une section de pied de page ainsi que des modèles spéciaux pour gérer les styles des éléments alternés et des séparateurs d'éléments. Pour des informations plus détaillées, consultez l'exemple de code proposé dans cette rubrique.

Pour préciser comment le contenu apparaîtra dans un modèle, déclarez des éléments supplémentaires dans les balises du modèle. Ce balisage supplémentaire peut se composer de balises HTML, de contrôles ASP.NET et de blocs de code ou d'expressions côté serveur inline. Pour plus d'informations sur l'utilisation de modèles inline, consultez Modèles de contrôles serveur Web ASP.NET.

Vous pouvez également définir vos propres modèles lorsque vous développez des contrôles serveur personnalisés. Pour plus d'informations sur le développement de contrôles qui définissent et utilisent des modèles de style inline, consultez How to: Develop Templated Controls.

Exemple

L'exemple de code suivant montre comment déclarer les modèles HeaderTemplate, AlternatingItemTemplate, ItemTemplate et FooterTemplate dans un contrôle serveur Web Repeater. Chacun de ces modèles est associé à une propriété de la classe Repeater.

<%@ Page Language="C#" %>
<html>
 <head>
    <script language="C#" runat="server">
       void Page_Load(Object Sender, EventArgs e) {
 
          if (!IsPostBack) {
             ArrayList values = new ArrayList();
 
             values.Add("Apple");
             values.Add("Orange");
             values.Add("Pear");
             values.Add("Banana");
             values.Add("Grape");
 
             Repeater1.DataSource = values;
             Repeater1.DataBind();
          }
       }
    </script>
 
 </head>
 <body>
 
    <h3><font face="Verdana">Repeater Example</font></h3>
 
    <form runat=server>
 
       <b>Repeater1:</b>
       <p>
         
       <asp:Repeater id=Repeater1 runat="server">
             
             
          <HeaderTemplate>
             <table border=1>
          </HeaderTemplate>
 
          <AlternatingItemTemplate>
             <tr>
                <td><b> <%# Container.DataItem %> </b> </td>
             </tr>
          </AlternatingItemTemplate>
 
          <ItemTemplate>
             <tr>
                <td> <%# Container.DataItem %> </td>
             </tr>
          </ItemTemplate>
 
          <FooterTemplate>
             </table>

          </FooterTemplate>
             
       </asp:Repeater>
       <p>
         
    </form>
 </body>
 </html>
<%@ Page Language="VB" %> 
<html>
<head>
<script language="VB" runat="server">

        Sub Page_Load(Sender As Object, e As EventArgs)
            
            If Not IsPostBack Then
                Dim values As New ArrayList()
                
                values.Add("Apple")
                values.Add("Orange")
                values.Add("Pear")
                values.Add("Banana")
                values.Add("Grape")
                
                Repeater1.DataSource = values
                Repeater1.DataBind()
            End If
        End Sub
</script>
 
 </head>
 <body>
 
    <h3><font face="Verdana">Repeater Example</font></h3>
 
    <form runat=server>
 
       <b>Repeater1:</b>
       <p>
         
       <asp:Repeater id=Repeater1 runat="server">
             
             
          <HeaderTemplate>
             <table border=1>
          </HeaderTemplate>
 
          <AlternatingItemTemplate>
             <tr>
                <td><b> <%# Container.DataItem %> </b> </td>
             </tr>
          </AlternatingItemTemplate>
 
          <ItemTemplate>
             <tr>
                <td> <%# Container.DataItem %> </td>
             </tr>
          </ItemTemplate>
 
          <FooterTemplate>
             </table>

          </FooterTemplate>
             
       </asp:Repeater>
       <p>
         
    </form>
 </body>
 </html>    

Voir aussi

Référence

Syntaxe de contrôle serveur personnalisé

Concepts

Vue d'ensemble de la syntaxe des pages Web ASP.NET

Autres ressources

How to: Develop Templated Controls