Sdílet prostřednictvím


Předvedení položek seznamu ovládacím prvkem CascadingDropDown (VB)

Christian Wenz

Stáhnout PDF

Ovládací prvek CascadingDropDown v sadě nástrojů AJAX Control Toolkit rozšiřuje ovládací prvek DropDownList tak, aby změny v jednom DropDownList načítá přidružené hodnoty do jiného DropDownList. S trochou kódu je možné, že prvek list je předem vybrán po dynamickém načtení dat.

Přehled

Ovládací prvek CascadingDropDown v sadě nástrojů AJAX Control Toolkit rozšiřuje ovládací prvek DropDownList tak, aby změny v jednom DropDownList načítá přidružené hodnoty do jiného DropDownList. (Například jeden seznam obsahuje seznam států USA a další seznam je pak vyplněný hlavními městy v tomto státě.) S trochou kódu je možné, že prvek list je předem vybrán po dynamickém načtení dat.

Postup

Aby bylo možné aktivovat funkce ASP.NET AJAX a Control Toolkit, ScriptManager musí být ovládací prvek umístěn kdekoli na stránce (ale v rámci elementu <form> ):

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

Potom se vyžaduje ovládací prvek DropDownList:

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

Pro tento seznam je přidán extender CascadingDropDown, který poskytuje adresu URL webové služby a informace o metodě:

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

Extender CascadingDropDown pak asynchronně volá webovou službu s následujícím podpisem metody:

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

Metoda vrátí pole typu CascadingDropDown hodnoty. Konstruktor typu očekává nejprve popis položky seznamu a pak hodnotu (atribut HTMLvalue). Pokud je třetí argument nastaven na hodnotu true, je prvek list automaticky vybrán v prohlížeči.

<%@ 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

Načtením stránky v prohlížeči se vyplní rozevírací seznam třemi dodavateli, přičemž druhý dodavatel bude předem vybraný.

Seznam je vyplněný a předem vybraný automaticky.

Seznam se vyplní a automaticky předem zaškrtne (kliknutím zobrazíte obrázek v plné velikosti).