Modelos de controles servidores web ASP.NET
A maioria dos controles de servidor Web têm um padrão de aparência e layout que você pode manipular, definindo propriedades ou usando estilos.Alguns controles de servidor Web também permitem que sejam personalizados suas aparências usando modelos.
Um modelo é um conjunto de elementos HTML e controles que compõem o layout de uma parte específica de um controle.Por exemplo, no controle de servidor Web DataList você pode usar uma combinação de elementos HTML e controles para criar o layout de cada linha da lista.Da mesma forma, o controle de servidor Web GridView possui um padrão para procurar por linhas de grade.Entretanto, você pode personalizar a grade definindo modelos diferentes para colunas individuais.
Observação: |
---|
Modelos diferem dos estilos.Um modelo define o conteúdo de uma seção de um controle — por exemplo, o conteúdo de uma linha no controle DataList.Estilos especificam a aparência dos elementos, como cor, fonte e assim por diante.Estilos podem aplicar para o controle como um todo (por exemplo, para definir a fonte para o controle GridView) bem como para itens de modelo. |
Modelos consistem de HTML e controles servidores incorporados.Quando o controle é executado na página da Web do ASP.NET, a estrutura do controle processa o conteúdo do modelo no lugar do padrão HTML para o controle.
Os modelos suportam controles?
Nem todos os controles servidores da Web suportam modelos.A maior parte dos modelos dão suporte para controles complexos.Isso inclui os controles GridView, DataList e Repeater, FormView, DetailsView, Login, e outros controles.
Cada controle suporta um conjunto ligeiramente diferente de modelos que especificam layout para partes diferentes do controle, como o cabeçalho, rodapé, item e item selecionado.Você pode especificar um modelo para qualquer ou todos esses itens, dependendo quais você deseja personalizar.No controle GridView, você pode especificar modelos para colunas (em vez linhas).
A tabela a seguir resume os controles do servidor Web que oferecem suporte a modelos.
Controle |
Modelos |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Criando modelos
Você pode criar modelos diretamente no arquivo .aspx.Os modelos são criados como declarações XML.O exemplo a seguir mostra como você pode exibir uma lista de nomes de funcionários, números de telefone e endereços de e-mail endereços usando modelos no controle DataList.O layout das informações do funcionário é especificado em ItemTemplate usando controles ligados a dados.
Observação: |
---|
Se você estiver usando um criador visual, como Visual Studio 2005, você pode utilizar tipicamente uma ferramenta visual para criar e editar modelos.Para obter mais informações, consulte Como: Criar controle de servidor Web Templates Using the Designer. |
<asp:datalist id="DataList1" >
<HeaderTemplate>
Employee List
</HeaderTemplate>
<ItemTemplate>
<asp:label id="Label1"
Text='<%# DataBinder.Eval(Container, "DataItem.EmployeeName")%>'></asp:label>
<asp:label id="Label2"
Text='<%# DataBinder.Eval(Container, "DataItem.PhoneNumber")%>'></asp:label>
<asp:Hyperlink id="Hyperlink1"
Text='<%# DataBinder.Eval(Container, "DataItem.Email") %>'
NavigateURL='<%# DataBinder.Eval(Container, "DataItem.Link") %>'>
</asp:Hyperlink>
</ItemTemplate>
</asp:datalist>
<asp:datalist id="DataList1" >
<HeaderTemplate>
Employee List
</HeaderTemplate>
<ItemTemplate>
<asp:label id="Label1"
Text='<%# DataBinder.Eval(Container, "DataItem.EmployeeName")%>'></asp:label>
<asp:label id="Label2"
Text='<%# DataBinder.Eval(Container, "DataItem.PhoneNumber")%>'></asp:label>
<asp:Hyperlink id="Hyperlink1"
Text='<%# DataBinder.Eval(Container, "DataItem.Email") %>'
NavigateURL='<%# DataBinder.Eval(Container, "DataItem.Link") %>'>
</asp:Hyperlink>
</ItemTemplate>
</asp:datalist>
Trabalhando com modelos
Um controle modelado cria uma instância do seu conteúdo do modelo somente sob demanda.Isso significa que instância dos controles no modelo não pode ser criada quando ocorrer o evento de carregamento de página.Esse comportamento pode afetar como um controle dentro de um modelo pode ser usado; você não pode assumir que uma instância de controle dentro de um modelo é criada quando a página é carregada.
sistema autônomo modelos aninhados, bem sistema autônomo arquivos mestres aninhados não são processados na visualização Design do Visual Studio 2005 ou do Visual Web Developer.O aninhamento corretamente é processado em um navegador da Web, no entanto.
Consulte também
Conceitos
Controle de Servidor Web do ASP.NET e Estilos CSS