Share via


Repeater controle de servidor Web Declarative sintaxe

Cria uma data-limite lista de controle que permite que o layout personalizado, repetindo um modelo especificado para cada item exibido na lista.

<asp:Repeater
    DataMember="string"
    DataSource="string"
    DataSourceID="string"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnItemCommand="ItemCommand event handler"
    OnItemCreated="ItemCreated event handler"
    OnItemDataBound="ItemDataBound event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    Visible="True|False"
>
        <AlternatingItemTemplate>
            <!-- child controls -->
        </AlternatingItemTemplate>
        <FooterTemplate>
            <!-- child controls -->
        </FooterTemplate>
        <HeaderTemplate>
            <!-- child controls -->
        </HeaderTemplate>
        <ItemTemplate>
            <!-- child controls -->
        </ItemTemplate>
        <SeparatorTemplate>
            <!-- child controls -->
        </SeparatorTemplate>
</asp:Repeater>

Comentários

Use o Repeater controle para criar uma data com modelo básico-limite lista. The Repeater controle não tem layout interno ou estilos; você deve declarar explicitamente todas as HTML layout, formatação e Rótulos estilo dentro de modelos do controle.

The Repeater controle é diferente de outros controles de lista de dados em que ele permite que você coloque fragmentos de HTML em seus modelos. Isso permite que você criar uma estrutura complexa de HTML, sistema autônomo uma tabela. Por exemplo, para criar uma lista em uma tabela HTML, inicie a tabela, colocando o <table> marca na HeaderTemplate. Em seguida, criar as linhas e colunas da tabela, colocando <tr> Rótulos, <td> Rótulos e itens ligados a dados a ItemTemplate. If you want a different appearance for alternating items in the table, create anAlternatingItemTemplate with the same contents as the ItemTemplate, except with a different style specified. Por fim, preencha a tabela, colocando o </table> marca na FooterTemplate.

A tabela a seguir lista os modelos diferentes do Repeater controle.

Modelo

Descrição

AlternatingItemTemplate

Como a ItemTemplate elemento, mas processado por Outros linha (itens alternados) na Repeater controle. Você pode especificar uma aparência diferente para o AlternatingItemTemplate elemento definindo suas propriedades de estilo.

FooterTemplate

Elementos para processar uma vez, depois de todos os dados-limite linhas tenham sido geradas. Um uso típico é fechar um elemento aberto no HeaderTemplate item (com uma marca sistema autônomo </table>).

ObservaçãoObservação:
O FooterTemplate não pode ser limite a dados.

HeaderTemplate

Elementos para processar uma vez, antes de quaisquer dados-limite linhas tenham sido geradas. Um uso típico é para começar a um elemento de contêiner, sistema autônomo uma tabela.

ObservaçãoObservação:
O HeaderTemplate item não pode ser limite a dados.

ItemTemplate

Elementos que são processados de uma vez para cada linha na fonte de dados. Para exibir dados no ItemTemplate, declare um ou mais controles do servidor Web e conjunto suas expressões de vinculação de dados a ser avaliada como um campo na Repeater do controle (ou seja, o contêiner controle do) DataSource. O exemplo a seguir mostra uma declaração de exemplo que exibe o campo que contém o nome em um Label controle.

First Name:
<asp:Label runat="server"
   Text="<%# Container.DataItem.FirstName %>" />

SeparatorTemplate

Elementos para processar entre cada linha, normalmente as quebras de linha (<br> Rótulos), linhas horizontais (<hr> Rótulos), e assim por diante.

ObservaçãoObservação:
O SeparatorTemplate item não pode ser limite a dados.

The Repeater o controle tem nenhuma seleção interna ou suporte de edição. Você pode criar um manipulador do controle ItemCommand evento eventos de controle de processo são enviadas dos modelos para o controle.

O controle é vinculado a Item e AlternatingItem modelos para uma estrutura de dados referenciado do controle DataSource ou DataSourceID Propriedades. (The Header, Footer, e Separator modelos não podem ser vinculados a dados.) Se o Repeater do controle DataSource propriedade é conjunto, mas nenhum dado é retornado, o controle processa o Header e Footer modelos, mas nenhum item. Se o DataSource propriedade não está conjunto, o Repeater controle não é processado.

Aviso

O texto não é codificado antes que seja exibido em HTML a Controle Repeater Isso torna possível incorporar o script nas Rótulos HTML no texto. Se os valores para o controle provenientes da entrada do usuário, certifique-se de validar os valores para ajudar a evitar vulnerabilidades de segurança.

Para obter informações detalhadas sobre o Repeater Propriedades e eventos de controle de servidor de Web, consulte o Repeater documentação da classe.

Exemplo

O exemplo de código a seguir demonstra como usar o DataSourceID propriedade para especificar a fonte de dados para um Repeater controle. The DataSourceID propriedade estiver definida como o ID propriedade das SqlDataSource controle usado para recuperar os dados. Quando a página é carregada, a Repeater controle é vinculado automaticamente à fonte de dados especificado pela SqlDataSource controle e os dados são exibidos ao usuário.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Repeater.DataSourceID Property Example</title>
</head>

  <body>
    <form id="Form1" runat="server">

      <h3>Repeater.DataSourceID Property Example</h3>

      <asp:repeater id="Repeater1"       
        datasourceid="SqlDataSource1"
        runat="server">

        <headertemplate>
          <table border="1">
            <tr>
              <td><b>Product ID</b></td>
              <td><b>Product Name</b></td>
            </tr>
        </headertemplate>

        <itemtemplate>
          <tr>
            <td> <%# Eval("ProductID") %> </td>
            <td> <%# Eval("ProductName") %> </td>
          </tr>
        </itemtemplate>

        <footertemplate>
          </table>

        </footertemplate>
      </asp:repeater>

            <asp:sqldatasource id="SqlDataSource1"          
            connectionstring="<%$ ConnectionStrings:NorthWindConnection%>" 
        selectcommand="SELECT ProductID, ProductName FROM [Products] Where ProductID <= 10"
        runat="server">
      </asp:sqldatasource>

    </form>      
  </body>
</html>
<%@ page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Repeater.DataSourceID Property Example</title>
</head>

  <body>
    <form id="Form1" runat="server">

      <h3>Repeater.DataSourceID Property Example</h3>

      <asp:repeater id="Repeater1"       
        datasourceid="SqlDataSource1"
        runat="server">

        <headertemplate>
          <table border="1">
            <tr>
              <td><b>Product ID</b></td>
              <td><b>Product Name</b></td>
            </tr>
        </headertemplate>

        <itemtemplate>
          <tr>
            <td> <%# Eval("ProductID") %> </td>
            <td> <%# Eval("ProductName") %> </td>
          </tr>
        </itemtemplate>

        <footertemplate>
          </table>

        </footertemplate>
      </asp:repeater>

            <asp:sqldatasource id="SqlDataSource1"          
            connectionstring="<%$ ConnectionStrings:NorthWindConnection%>" 
        selectcommand="SELECT ProductID, ProductName FROM [Products] Where ProductID <= 10"
        runat="server">
      </asp:sqldatasource>

    </form>      
  </body>
</html>

Consulte também

Referência

Repeater

Outros recursos

controle de servidor Web sintaxe