Compartilhar via


Predefinição de entradas de lista com CascadingDropDown (VB)

por Christian Wenz

Baixar PDF

O controle CascadingDropDown no Kit de Ferramentas de Controle AJAX estende um controle DropDownList para que as alterações em um DropDownList carreguem valores associados em outro DropDownList. Com um pouco de código, é possível que um elemento de lista seja pré-selecionado depois que os dados forem carregados dinamicamente.

Visão geral

O controle CascadingDropDown no Kit de Ferramentas de Controle AJAX estende um controle DropDownList para que as alterações em um DropDownList carreguem valores associados em outro DropDownList. (Por exemplo, uma lista fornece uma lista de estados dos EUA e a próxima lista é preenchida com as principais cidades desse estado.) Com um pouco de código, é possível que um elemento de lista seja pré-selecionado depois que os dados forem carregados dinamicamente.

Etapas

Para ativar a funcionalidade de ASP.NET AJAX e o Kit de Ferramentas de Controle, o ScriptManager controle deve ser colocado em qualquer lugar na página (mas dentro do <form> elemento):

<asp:ScriptManager ID="asm" runat="server" />

Em seguida, um controle DropDownList é necessário:

<div>
 Vendor: <asp:DropDownList ID="VendorsList" runat="server"/>
</div>

Para esta lista, um extensor CascadingDropDown é adicionado, fornecendo a URL do serviço Web e informações de método:

<ajaxToolkit:CascadingDropDown ID="ccd1" runat="server"
 ServicePath="CascadingDropdown2.vb.asmx" ServiceMethod="GetVendors"
 TargetControlID="VendorsList" Category="Vendor" />

O extensor CascadingDropDown chama de forma assíncrona um serviço Web com a seguinte assinatura de método:

Public Function MethodNameHere(ByVal knownCategoryValues As String, ByVal category As String) As CascadingDropDownNameValue()

O método retorna uma matriz do tipo Valor CascadingDropDown. O construtor do tipo espera primeiro o legenda da entrada de lista e, em seguida, o valor (atributo HTMLvalue). Se o terceiro argumento for definido como true, o elemento list será selecionado automaticamente no navegador.

<%@ WebService Language="VB" Class="CascadingDropDown2" %>
Imports System.Web.Script.Services
Imports AjaxControlToolkit
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Collections.Generic
<ScriptService()> _
Public Class CascadingDropDown2
 Inherits System.Web.Services.WebService
 <WebMethod()> _
 Public Function GetVendors(ByVal knownCategoryValues As String, ByVal category As
 String) As CascadingDropDownNameValue()
 Dim l As New List(Of CascadingDropDownNameValue)
 l.Add(New CascadingDropDownNameValue("International", "1"))
 l.Add(New CascadingDropDownNameValue("Electronic Bike Repairs & Supplies","2", True))
 l.Add(New CascadingDropDownNameValue("Premier Sport, Inc.", "3"))
 Return l.ToArray()
 End Function
End Class

Carregar a página no navegador preencherá a lista suspensa com três fornecedores, sendo o segundo pré-selecionado.

A lista é preenchida e pré-selecionada automaticamente

A lista é preenchida e pré-selecionada automaticamente (Clique para exibir a imagem em tamanho real)