Os controles são pequenos blocos funcionais em uma interface gráfica do usuário que incluem caixas de texto, botões, caixas de seleção, caixas de listagem, rótulos e muitas outras ferramentas. Usando essas ferramentas, os usuários podem inserir dados, fazer seleções e indicar suas preferências.
Os controles também são utilizados para trabalhos estruturais como validação, acesso a dados, segurança, criação de páginas mestras e manipulação de dados.
ASP.NET usa cinco tipos de controles da Web, que são:
Controle HTML
Controle de servidor HTML
Controles de servidor ASP.NET
Controle de servidor ASP.NET Ajax
Controles de usuário e controles personalizados
Os controles de servidor ASP.NET são os principais controles usados no ASP.NET. Esses controles podem ser divididos nas seguintes categorias:
Controles de validação – usados para validar a entrada do usuário e trabalhar executando scripts do lado do cliente.
Controle de fonte de dados – fornece recursos de vinculação de dados a diferentes fontes de dados.
Controle de exibição de dados – Este controle é uma variedade de listas e tabelas que podem exibir dados vinculados de uma fonte de dados.
Controles de personalização - Personalize páginas com base nas informações do usuário com base nas preferências do usuário.
Controles de login e segurança - Fornece autenticação do usuário.
Página mestra - Fornece um layout e interface consistentes em todo o aplicativo.
Controles de navegação - ajudam os usuários a navegar. Por exemplo, menu, visualização em árvore, etc.
Controles de funções ricos - Implemente funções especiais. Por exemplo: controles AdRotator, FileUpload e Calendar.
A sintaxe básica para usar controles de servidor é:
<asp:controlType ID ="ControlID" runat="server" Property1=value1 [Property2=value2] />
Além disso, o Visual Studio possui os seguintes recursos para ajudar a produzir código sem erros:
Arraste e solte controles no modo Design.
Recursos do IntelliSense para recursos de exibição e preenchimento automático.
Janela de propriedades para definir valores de propriedades diretamente.
Os controles de servidor ASP.NET com recursos visuais são derivados da classe WebControl e herdam todas as propriedades, eventos e métodos dessa classe.
A própria classe WebControl e outros controles de servidor que não possuem recursos visuais são derivados da classe System.Web.UI.Control. Por exemplo, controle PlaceHolder ou controle XML.
Os controles do servidor ASP.Net herdam todas as propriedades, eventos e métodos das classes WebControl e System.Web.UI.Control.
A tabela a seguir mostra propriedades comuns a todos os controles de servidor:
propriedade | descrever |
---|---|
Chave de acesso | Pressione esta tecla e a tecla Alt simultaneamente para mover o foco para o controle. |
Atributos | É uma coleção de propriedades arbitrárias que não correspondem às propriedades de controle (usadas apenas para renderização de visualizações). |
BackColor | Cor de fundo. |
BindingContainer | Contém controles vinculados a dados. |
BorderColor | Cor da borda. |
Estilo de borda | Estilo de borda. |
Largura da borda | Largura da borda. |
CausasValidação | Mostrado quando a verificação é causada. |
ChildControlCriado | Indica se os controles filho do controle de servidor estão estabelecidos. |
ID do cliente | O ID de controle da tag HTML. |
Contexto | O objeto HttpContext associado ao controle de servidor. |
Controles | Uma coleção de todos os controles dentro do controle. |
Estilo de controle | Estilos para controles de servidor web. |
ClasseCss | Aulas CSS. |
DataItemContainer | Fornece uma referência ao nomeador se ele implementar um IDataItemContainer. |
DataKeysContainer | Fornece uma referência para o nomeador se ele implementar IDataKeysControl. |
Modo de Design | Indica se o controle é usado na interface de design. |
DisabledCssClass | Obtém ou define a classe CSS a ser aplicada ao elemento HTML renderizado quando o controle está desabilitado. |
Habilitado | Indica se o controle está desabilitado. |
Habilitar Theming | Indica se o tema se aplica ao controle. |
EnableViewState | Indica se o estado de exibição do controle deve ser mantido. |
Eventos | Obtém uma lista de manipuladores de eventos que representam o controle. |
Fonte | Configurações de fonte. |
Forecolor | Cor do primeiro plano. |
HasAttributes | Indica se o controle possui grupos de propriedades. |
HasChildViewState | Indica se os controles filho do controle de servidor atual têm configurações de estado de exibição salvas. |
Altura | Altura em pixels ou porcentagem. |
EU IA | O identificador do controle. |
IsChildControlStateCleared | Indica se o controle contido neste controle possui estado de controle. |
Está habilitado | Obtém um valor que indica se o controle está habilitado. |
IsTrackingViewState | Indica se o controle do servidor salvará as alterações em seu estado de exibição. |
IsViewStateEnabled | Indica se o estado de visualização está habilitado para este controle. |
LoadViewStateById | Indica se o controle está participando do carregamento de seu estado de exibição por ID em vez de índice. |
Página | A página que contém o controle. |
Pai | Recursos de controle dos pais. |
Compatibilidade de renderização | Especifica a versão do ASP.NET com a qual o HTML renderizado será compatível. |
Site | O suporte que mantém o controle atual quando a interface de design é exibida. |
ID da pele | Obtém ou define a capa aplicada ao controle. |
Estilo | Obtém uma coleção de propriedades de texto que serão exibidas como propriedades de estilo no rótulo externo do controle de servidor Web. |
TabIndex | Obtém ou define o rótulo de índice do controle de servidor Web. |
TagKey | Obtém o valor HtmlTextWriterTag correspondente a esse controle de servidor Web. |
TagNome | Obtém o nome do rótulo de controle. |
Controle de modelo | Contém o modelo para este controle. |
Diretório de origem do modelo | Obtém o diretório virtual da página ou controle contido nesse controle. |
Dica de ferramenta | Obtém ou define o texto exibido quando o ponteiro do mouse está sobre o controle do servidor Web. |
ID Único | Identificador exclusivo. |
Visualizar estado | Obtém um dicionário de informações de estado capaz de salvar e restaurar o estado de exibição de controle do servidor em diversas solicitações para a mesma página. |
ViewStateIgnoreCase | Indica se o objeto StateBag não diferencia maiúsculas de minúsculas. |
ViewStateMode | Obtém ou define o estado de exibição desse controle. |
Visível | Indica se o controle do servidor está visível. |
Largura | Obtém ou define a largura do controle de servidor Web. |
Os métodos do controle do servidor são apresentados na tabela a seguir:
método | descrever |
---|---|
AddAttributesToRender | Adicione os atributos e estilos HTML necessários para renderizar o HtmlTextWriterTag especificado. |
AdicionadoControle | Chamado depois que um controle filho é adicionado à coleção de controles do objeto de controle. |
AdicionarParsedSubObject | Notifica o controle de servidor de que um elemento, XML ou HTML, foi analisado e adiciona o elemento à coleção de controles do controle de servidor. |
AplicarStyleSheetSkin | Aplica propriedades de estilo definidas na folha de estilo da página aos controles. |
ClearCachedClientID | infraestrutura. Defina o valor do ClientID armazenado em cache como nulo. |
ClearChildControlState | Remove informações de estado de controle para controles filho do controle de servidor. |
ClearChildState | Remove informações de estado de exibição e de estado de controle para todos os controles filho de controle de servidor. |
ClearChildViewState | Remove informações de estado de exibição para todos os controles filho do controle de servidor. |
CriarControlesCrianças | Usado para criar controles filho. |
CriarControlCollection | Crie uma nova coleção de controles para conter controles filho. |
CriarControlStyle | Cria um objeto de estilo que implementa todas as propriedades relacionadas ao estilo. |
Ligação de dados | Vincule a fonte de dados ao controle de servidor e a todos os seus controles filho. |
DataBind (Booleano) | Vincule a fonte de dados e as opções que geram o evento DataBinding ao controle do servidor e a todos os seus controles filho. |
DataBindChildren | Vincule a fonte de dados a um controle filho do controle de servidor. |
Descartar | Permite que um controle de servidor execute operações de limpeza finais antes de ser liberado da memória. |
GarantirControles Infantis | Determina se o controle de servidor contém controles filho. Caso contrário, crie um controle filho. |
Garantir ID | Crie um identificador para um controle que não possui um. |
Igual (Objeto) | Determina se o objeto especificado é igual ao objeto atual. |
Finalizar | Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que o objeto seja recuperado pela Lixeira. |
EncontrarControl(String) | Pesquisa o contêiner nomeado atual em busca de controles de servidor com o parâmetro id especificado. |
FindControl(String, Int32) | Pesquisa o contêiner nomeado atual em busca de controles de servidor com o parâmetro id e o número inteiro especificados. |
Foco | Defina o foco de entrada para o controle. |
GetDesignModeState | Obtém os dados em tempo de design do controle. |
GetType | Obtenha o tipo da instância atual. |
ObterUniqueIDRelativeTo | Retorna a parte prefixada da propriedade ID exclusiva do controle especificado. |
HasControls | Determina se o controle de servidor contém controles filho. |
Tem eventos | Indica se o evento é registrado pelo controle ou por outros controles filho. |
IsLiteralContent | Determina se o controle de servidor contém apenas conteúdo de texto. |
LoadControlState | Restaure as informações do estado de controle. |
LoadViewState | Restaurar informações de estado de visualização. |
MapPathSecure | Recupera o caminho físico para o qual um caminho virtual absoluto ou relativo é mapeado. |
Membro Clone | Cria uma cópia superficial do objeto atual. |
Estilo de mesclagem | Copia quaisquer elementos que não estejam em branco do controle da Web com o estilo especificado, mas não substitui nenhum elemento de estilo existente do controle. |
OnBubbleEvent | Determina se os eventos do controle de servidor passam pela hierarquia de controle de servidor da UI da página. |
OnDataBinding | Gere um evento de vinculação de dados. |
Ao iniciar | Gera o evento Init. |
Ao carregar | Gera um evento de carregamento. |
OnPreRender | Gera o evento PreRender. |
Ao descarregar | Gere um evento de desinstalação. |
Abrir arquivo | Obtenha o fluxo usado para ler o arquivo. |
Controle Removido | Chamado depois que um controle filho é removido da coleção de controles do objeto de controle. |
Renderizar | Exibe o controle para o autor HTML especificado. |
RenderBeginTag | Exibe a tag de abertura HTML do controle para o autor especificado. |
RenderChildren | Gera o conteúdo dos filhos do controle de servidor no objeto HtmlTextWriter fornecido para gravar o conteúdo que é renderizado no cliente. |
Renderizar conteúdo | Exibe o conteúdo do controle para o autor especificado. |
RenderControl(HtmlTextWriter) | Gera o conteúdo do controle do servidor para o objeto HtmlTextWriter fornecido e salva informações de rastreamento sobre o controle se o rastreamento estiver habilitado. |
RenderEndTag | Exibe a tag de fechamento HTML do controle para o autor especificado. |
Resolver Adaptador | Obtém o adaptador de controle responsável por renderizar o controle especificado. |
SalvarControlState | Salva alterações de estado nos controles do servidor que ocorreram desde que a página foi postada de volta no servidor. |
SaveViewState | Salva qualquer estado modificado após chamar o método TrackViewState. |
SetDesignModeState | Defina dados em tempo de design para o controle. |
ParaString | Retorna uma string representando o objeto atual. |
Estado de TrackView | Faz com que um controle rastreie alterações em seu estado de exibição para que possam ser armazenadas na propriedade ViewState do objeto. |
Vamos dar uma olhada em um controle de servidor específico - o controle de exibição em árvore. Os controles de exibição em árvore são controles de navegação. Outros controles de navegação são: controle de menu e controle SiteMapPath.
Adicione um controle de exibição em árvore à página. Selecione Editar nós... na tarefa e edite cada nó usando o editor de nós de visualização em árvore da seguinte maneira:
Depois que o nó for criado com sucesso, a seguinte exibição aparecerá na visualização de design:
A tarefa AutoFormatação... permite especificar o formato da visualização em árvore da seguinte forma:
Adicione um controle de rótulo e um controle de caixa de texto na página e nomeie-os respectivamente como lblmessage e txtmessage.
Escreva algumas linhas de código para garantir que, quando um nó específico for selecionado, o controle de rótulo exiba o texto do nó e a caixa de texto exiba todos os nós filhos abaixo dele (se houver). O código do arquivo de fundo deve ficar assim:
using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;namespace eventdemo { public partial class treeviewdemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { txtmessage.Text = " "; } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { txtmessage.Text = " "; lblmessage.Text = "Selected node changed to: " + TreeView1.SelectedNode.Text; TreeNodeCollection childnodes = TreeView1.SelectedNode.ChildNodes; if(childnodes != null) { txtmessage.Text = " "; foreach (TreeNode t in childnodes) { txtmessage.Text += t.Value; } } } }}
Execute a página para ver o efeito e você poderá expandir e recolher nós.