Condividi tramite


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

  • 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 è molto utile per l'utilizzo dei modelli in quanto consente di progettare l'organizzazione e lo stile del contenuto di un controllo mediante la sintassi dichiarativa semplice piuttosto che a livello di codice.

Molti controlli server Web ASP.NET supportano i modelli. Supportano i modelli i controlli Repeater, DataList, GridView, FormView, MultiView, LoginView e Menu, nonché i controlli zona Web part, inclusi WebPartZone e CatalogZone. Si noti che solo i modelli specificamente definiti per un controllo possono essere dichiarati per tale controllo.

Gli elementi modello devono essere dichiarati come elementi figlio dei controlli server che li supportano. Un controllo server può contenere più elementi modello, con ciascun modello utilizzato per specificare le caratteristiche di un contenuto diverso del controllo. 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 markup 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, è possibile definire modelli personalizzati. Per ulteriori informazioni sullo sviluppo di controlli che consentono di definire e utilizzare modelli di stile inline, vedere Procedura: creare controlli utente ASP.NET basati su modelli.

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

Attività

Procedura: creare controlli utente ASP.NET basati su modelli

Riferimenti

Sintassi di controlli server personalizzati

Concetti

Cenni preliminari sulla sintassi delle pagine Web ASP.NET