Share via


Sintassi di modelli inline di controlli server

Specifica il contenuto che verrà incluso, come verrà organizzato e che stile avrà all'interno dei controlli server ASP.NET che supportano i modelli.

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

Tag

  • templatename
    Nome del modello di controllo server ASP.NET.

Note

È possibile utilizzare i modelli per stabilire l'organizzazione e lo stile del contenuto che verrà visualizzato all'interno dei controlli server ASP.NET. La sintassi dei modelli inline è un sistema che gli sviluppatori delle pagine troveranno molto utile per l'utilizzo dei modelli in quanto consente loro di progettare l'organizzazione e lo stile del contenuto di un controllo mediante la sintassi dichiarativa semplice piuttosto che a livello di codice. Dichiarato tra i tag di apertura e chiusura di un controllo server, un modello inline consente di stabilire il contenuto da includere, la relativa organizzazione e gli stili che a esso verranno applicati.

Molti controlli server Web ASP.NET supportano i modelli. Supportano i modelli i controlli Repeater, DataList, Gridview, MultiView, LoginView e Menu, nonché i controlli zona Web part, compresi WebPartZone e CatalogZone. In realtà solo i modelli specificamente definiti per un controllo nel codice sorgente della rispettiva classe possono essere dichiarati per quel controllo.

Gli elementi modello devono essere dichiarati come elementi figlio dei controlli server che li supportano. Un controllo server può contenere più elementi modello contemporaneamente, con ciascun modello utilizzato per specificare le caratteristiche di una sezione di contenuto del controllo diversa. Il controllo Repeater, ad esempio, supporta i modelli per specificare il layout e l'aspetto del contenuto all'interno di una sezione di intestazione, di una sezione del corpo o di elemento e una sezione di piè di pagina, nonché modelli speciali per la gestione degli stili per gli elementi alternati e i separatori tra gli elementi. Per ulteriori informazioni, vedere l'esempio di codice in questo argomento.

Per specificare come verrà visualizzato il contenuto all'interno di un modello, dichiarare elementi aggiuntivi all'interno dei tag di modello. Il codice aggiuntivo può essere formato da tag HTML, controlli ASP.NET e blocchi di codice o espressioni lato server inline. Per ulteriori informazioni sull'utilizzo dei modelli iniline, vedere Modelli dei controlli server Web ASP.NET.

Quando si sviluppano controlli server personalizzati, è inoltre possibile definire modelli personalizzati. Per ulteriori informazioni sullo sviluppo di controlli che consentono di definire e utilizzare modelli di stile inline, vedere How to: Develop Templated Controls.

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come dichiarare i modelli HeaderTemplate, AlternatingItemTemplate, ItemTemplate e FooterTemplate in un controllo server Web Repeater. A ognuno di tali modelli è associata una proprietà della 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>    

Vedere anche

Riferimenti

Sintassi di controlli server personalizzati

Concetti

Cenni preliminari sulla sintassi delle pagine Web ASP.NET

Altre risorse

How to: Develop Templated Controls