Compartir a través de


Sintaxis de plantillas en línea para controles de servidor

Especifica qué contenido se incluirá, y cómo se definirá su organización y estilo, en los controles de servidor ASP.NET que admitan plantillas.

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

Etiquetas de marcado

  • templatename
    Nombre de la plantilla del control de servidor ASP.NET.

Comentarios

Se pueden utilizar plantillas para definir la estructura y el estilo del contenido que aparece en los controles de servidor ASP.NET. Los desarrolladores de páginas verán que la sintaxis de plantillas en línea constituye un método práctico de trabajar con plantillas, porque pueden diseñar la organización y el estilo del contenido de un control utilizando sintaxis declarativa sencilla en lugar de hacerlo mediante programación. Cuando se declara entre las etiquetas de apertura y cierre de un control de servidor, una plantilla en línea permite determinar qué contenido se va a incluir, cómo se organizará y qué estilos se le aplicarán.

Muchos controles de servidor Web ASP.NET admiten plantillas, como es el caso de los controles Repeater, DataList, Gridview, MultiView, LoginView y Menu, o controles de zona de elementos Web como WebPartZone y CatalogZone. Tenga en cuenta que en realidad sólo se pueden declarar para un control las plantillas definidas específicamente para ese control en el código fuente de su clase.

Los elementos de plantilla se deben declarar como elementos secundarios de los controles de servidor que los admiten. Un control de servidor puede contener varios elementos de plantilla simultáneamente y cada plantilla se utiliza para especificar las características de una sección de contenido diferente del control. Por ejemplo, el control Repeater admite plantillas para especificar el diseño y la apariencia del contenido de una sección de encabezado, una sección de cuerpo o elemento y una sección de pie de página, así como plantillas especiales para controlar los estilos para alternar los elementos y los separadores entre los elementos. Para obtener información detallada, vea el ejemplo de código de este tema.

Para especificar cómo aparecerá el contenido en una plantilla, los elementos adicionales se declaran dentro de las etiquetas de plantilla. El marcado adicional puede estar compuesto de etiquetas HTML, controles ASP.NET y expresiones de servidor o bloques de código en línea. Para obtener más información sobre cómo utilizar plantillas en línea, vea Plantillas de controles de servidor Web ASP.NET.

También se pueden definir plantillas propias al desarrollar controles de servidor personalizados. Para obtener más información sobre cómo desarrollar controles que definen y utilizan plantillas de estilo en línea, vea How to: Develop Templated Controls.

Ejemplo

En el ejemplo de código siguiente se muestra cómo declarar las plantillas HeaderTemplate, AlternatingItemTemplate, ItemTemplate y FooterTemplate en un control de servidor Web Repeater. Cada una de estas plantillas está asociada a una propiedad de la clase 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>    

Vea también

Referencia

Sintaxis de controles de servidor personalizados

Conceptos

Información general sobre sintaxis de páginas Web ASP.NET

Otros recursos

How to: Develop Templated Controls