Compartilhar via


Visão geral sobre Controles de Extensor AJAX ASP.NET

Controles de extensor AJAX ASP.NET aprimoram os recursos de cliente de controles de servidor Web do ASP.NET padrão.Você pode direcionar controles de servidor Web padrão, como controles TextBox, controles Button e controles Panel utilizando um ou mais controles de extensor para fornecer um experiência de usuário no navegador mais rica.Por exemplo, para permitir que os usuários confirmarem antes de enviar um formulário para o servidor, você pode usar um controle de extensor que adiciona essa funcionalidade de cliente a um controle Button.

Você pode adicionar controles de extensor AJAX do ASP.NET a Visual Studio e trabalhar com eles como faria com outros controles.Você pode criar seus próprios controles do extensor ou obtê-los de outras fontes.

Uma fonte para controles do extensor é o Kit de Ferramentas de Controle AJAX ASP.NET.O kit de ferramentas de controles fornecem exemplos e um SDK que deixa simples a criação e o reuso de controles e extensores personalizados.Você pode baixar o ASP.NET AJAX controle Toolkit do O ASP.NET AJAX Site da Web.

Observação importante:

O Kit de Ferramentas de Controle ASP.NET AJAX é uma biblioteca suportada pela comunidade e não é suportado pela Microsoft.Este tópico discute controles de extensor que estão no kit de ferramentas do controle como exemplos de como trabalhar com controles do extensor.No entanto, você não deve interpretar que as informações contidas neste tópico significam que os controles de extensor discutidos aqui são uma parte oficial do ASP.NET ou que são controles com suporte.

Este tópico contém informações sobre o seguinte:

  • Recursos de controle de extensor AJAX

  • Segundo plano

  • Referência de Classe

Recursos

O Visual Studio oferece suporte aos seguintes recursos de controle de extensor:

  • Adicionando controles de extensor.

  • Removendo controles de extensor.

  • Definindo propriedades do controle de extensor.

  • Gerenciando controles de extensor.

Voltar ao topo

Segundo plano

Controles de extensor podem ser usados para aprimorar a funcionalidade de cliente dos controles de servidor Web padrão.Você não usar controles de extensor por si mesmos.Em vez disso, você os anexa a outro controle de servidor Web do ASP.NET.Controles de extensor são conectados a um controle de servidor Web, definindo a propriedade TargetControlID do controle de extensor para a identificação do controle de servidor sendo estendido.

Trabalhar com Controles de Extensor no Visual Studio

Se você instalar o Kit de Ferramentas de controle AJAX ASP.NET, controles de extensor são mostrados na sua própria guia em Caixa de Ferramentas.A seção controle de extensor da Caixa de Ferramentas é mostrada somente para páginas da Web, como com a seção Padrão da Caixa de Ferramentas.

Observação:

O Kit de Ferramentas de Controle AJAX ASP.NET é uma biblioteca suportada por comunidade.Ele não é parte do ASP.NET.

Adicionando Controles de Extensor.

Você pode usar os seguintes métodos para adicionar controles de extensor a um controle de servidor Web no modo Design:

  • Arraste o controle de extensor para o controle de servidor Web.Você pode soltar o controle de extensor somente em controles de servidor Web que ofereçam suporte a controles de extensor.Quando você arrasta o controle de extensor sobre a superfície de design, o ponteiro indica se é possível soltar o controle de extensor no controle de servidor Web.

  • Clique com o botão direito do mouse no controle de servidor Web e, em seguida, clique em Adicionar Extensor.

  • selecionar o Botão tarefas marca SMART e, em seguida, clicar Adicionar Extender.

    Observação:

    No modo Design, controles de extensor normalmente não são exibidos.No entanto, se um erro relacionado a um controle do extensor ocorrer, o controle do extensor será exibido.

Ao adicionar um extensor no designer, a propriedade TargetControlID do controle de extensor é definida como o controle de servidor Web anexado.O nome do controle de extensor é baseado no nome do controle de servidor Web ao qual ele está associado.

Um controle de extensor pode oferecer suporte a elementos de interface do usuário (UI) que você pode configurar.Nesse caso, você pode definir esses elementos usando um menu de marca inteligente do controle de servidor Web que estiver sendo estendido.

O controle do extensor não será exibido na superfície de design quando ele for anexado ao controle de destino.Se o controle de extensor não é anexado a um controle de destino, ou se a associação não pode ser determinada em tempo de design, o controle de extensor será exibido como um espaço reservado na superfície de design.Situações onde esse resultado pode ocorrer incluem o seguinte:

  • A propriedade TargetControlID está vazia.

  • A propriedade TargetControlID não coincide com um controle existente.

  • A propriedade TargetControlID faz referência a um controle que não pode ser estendido pela controle de extensor.

Se o controle do extensor estiver conectado a um controle de destino válido, Visual Studio oculta as propriedades do controle de extensor na janela de Propriedades a seguir:

  • TargetControlID

  • EnableViewState (herdadas de Control)

  • ID (herdadas de Control)

Para obter mais informações sobre como adicionar controles de extensor aos controles de servidor Web, consulte Demonstra Passo a passo: Controles extensores ASP.NET AJAX.

Removendo Controles de Extensor.

Você pode remover a associação entre um controle de extensor e um controle de servidor Web, fazendo o seguinte:

  • No modo de exibição Design, clique com o botão direito do mouse no controle de servidor Web, clique em Remover Extensor e em seguida, selecione o controle de extensor que deseja remover.

  • In Design exibir, selecionar o Botão tarefas marca SMART, clicar Remover extensor e, em seguida, selecionar controle extensor que deseja remover.

  • Exclua a marcação do controle do extensor no modo de exibição Source .

Extensor de controles e o Controle ScriptManager

Controles de extensor que derivam da classe ExtenderControl requerem um controle ScriptManager na página.A classe base ExtenderControl executa um teste para certificar-se que existe um controle ScriptManager na página.

No entanto, se você quiser criar um controle de extensor que não requer um controle ScriptManager, você pode criar uma classe que implementa a interface IExtenderControl diretamente.Além disso, se você estiver criando uma classe que é derivada de Control, ou se você estiver estendendo um controle existente que é derivado de Control, você pode implementar a interface IExtenderControl você mesmo.

A interface IExtenderControl registra as bibliotecas de script para um controle chamando o método GetScriptReferences.Ele registra os objetos ScriptDescriptor chamando o método GetScriptDescriptors.O método GetScriptDescriptors retorna uma lista IEnumerable de objetos ScriptDescriptor.

Observação:

Se você estender um tipo de controle existente que é derivado da classe WebControl, implemente a interface IScriptControl.

Para obter mais informações sobre como criar um controle de extensor AJAX ASP.NET, consulte Adicionando recursos de cliente a um controle de servidor Web.

Controles de Extensor no Kit de Ferramentas de Controle AJAX

A tabela a seguir descreve alguns dos controles de extensor AJAX que estão disponíveis no Kit de Ferramentas de Controle AJAX ASP.NET.

Observação:

O Kit de Ferramentas de Controle AJAX ASP.NET é uma biblioteca suportada por comunidade.Ele não é parte do ASP.NET.O Sumário da biblioteca e a funcionalidade dos controles individuais estão sujeitos a alterações.

Controle de Extensor AJAX

Descrição

CascadingDropDown

Preenche um controle DropDownList dinamicamente, dependendo da seleção em outro controle DropDownList.Este controle de extensor é anexado a um controle DropDownList.

Quando a seleção de um DropDownList controle é alterado, controle do extensor CascadingDropDown chama um serviço Web especificado para recuperar uma lista de valores é usada para popular o próximo DropDownList no conjunto.

CollapsiblePanelExtender

Permite que seções recolhíveis sejam adicionadas a um página da Web.

Este controle de extensor é anexado a um controle UpdatePanel.

Você pode especificar um controle de servidor Web que pode expandir ou recolher o controle UpdatePanel.Como alternativa, o UpdatePanel pode ser definido para expandir ou recolher automaticamente quando os usuários movem o ponteiro do mouse sobre ele.

ConfirmButtonExtender

Exibe um caixa de mensagem de confirmação após um controle Button ter sido clicado, mas antes da página ou UpdatePanel ser submetida ao servidor.Se os usuários cancelarem, a página não é enviada.

Este controle de extensor é anexado a um controle Button.

FilteredTextBoxExtender

Impede que os usuários digitem caracteres específicos em um controle TextBox.

Este controle de extensor é anexado a um controle TextBox.

ModalPopupExtender

Permite que conteúdo a seja exibido, mas impede que o usuário interaja com o restante da página.

Este controle de extensor é anexado a qualquer controle de servidor Web que possa ser usado para abrir uma janela restrita (modal).

PasswordStrength

Exibe a força de uma senha.

Este controle de extensor é anexado a um controle TextBox.

RoundedCornersExtender

Aplica cantos arredondados a elementos existentes.

Este controle de extensor normalmente é anexado a um controle Panel.

TextBoxWatermarkExtender

Exibe uma mensagem dentro de um controle TextBox quando a caixa de texto não contém um valor de texto.

Este controle de extensor é anexado a um controle TextBox.

Definindo Propriedades do Controle de Extensor.

Você pode definir propriedades de controle do extensor na janela Propriedades.Alguns controles de extensor também fornecem elementos de interface do usuário adicionais que você pode acessar por meio do menu de marcas inteligentes do controle de servidor Web .

Quando um controle de servidor Web é estendido, a janela Propriedades mostra uma nova categoria chamada Extensores.Contidas nesta seção, uma nova propriedade de vários níveis é mostrada para cada controle de extensor que tenha sido adicionado ao controle de servidor Web.Cada controle de extensor fornece propriedades exclusivas que são específicas para o controle.

Para obter mais informações sobre como definir propriedades de controles de servidor Web, consulte Como: Ativar a janela Propriedades no Visual Web Developer.

Gerenciando Controles de Extensor.

Como controles de extensor não são exibidos na interface do usuário diretamente no modo Design, você gerencia eles como parte do controle ao qual foram adicionados.Se o controle de servidor Web é movido para um local diferente ou é colocado dentro de outro controle, os controles de extensor anexados são movidos.

A marcação do controle de extensor é incluída diretamente após a marcação para o controle de servidor Web.Se vários controles de extensor estiverem anexados a um controle de servidor Web, a ordem dos controles de extensor é mantida durante qualquer movimentação.Isso reduz a chance de conflitos em tempo de execução.

Quando um controle de servidor Web com controles de extensor anexados for excluído da superfície de design, os extensores associados também são excluídos.Se você alterar a propriedade ID de um controle de servidor Web com controles de extensor anexados na janela Propriedades, a propriedade TargetControlID e a propriedade ID dos controles de extensor são atualizados para corresponderem.

Observação:

Se um extensor tiver uma identificação personalizada (por exemplo, uma que você forneceu), a propriedade ID não é alterada quando a propriedade ID de qualquer controle de servidor Web associado for alterada.

Se um controle de servidor Web com controles de extensor anexados é recortado ou copiado para a Área de transferência, a cópia inclui os controles extensor associados na Área de transferência.Eles são copiados como marcação e seguem imediatamente o controle.Isso ocorre mesmo se na fonte, a marcação do extensor não for contígua com o controle.Quando o controle de servidor Web é colado, os controles de extensor também são colados.

Se um erro é introduzido na marcação de um controle de extensor, ele é mostrado no modo de exibição Design com uma mensagem informando "Error Rending Control".Para corrigir este erro, corrija a marcação no modo de exibição Source.

Voltar ao topo

Referência de Classe

As principais classes do servidor para controles de extensor são mostradas na tabela a seguir.

Classe

Descrição

ExtenderControl

Fornece uma classe base abstrata a um controle de extensor.

IExtenderControl

Define o comportamento de um controle de extensor.

Voltar ao topo

Consulte também

Tarefas

Demonstra Passo a passo: Controles extensores ASP.NET AJAX