AjaxControltoolkit学习笔记—CascadingDropDown使用详解

CascadingDropDown 是一个扩展 ASP.Net 中的 DropDownList 控件,使其形成级联效果的 ASP.Net AJAX 控件。 当级联中的上一级 DropDownList 的选择值被改变的时候,它会直接影响到其下一级的 DropDownList 中可供用户选择的选项。

CascadingDropDown 完成级联选择项变化的过程是通过发布在 IIS 服务器上的 Web Service 实现的。这个 Web Service 将可以完全地控制其中级联的业务逻辑。

通过这个 Web Service 开发人员可以很方便地从 Xml 或者数据库中获得相关数据。

CascadingDropDown 属性


上面示例的 CascadingDropDown 将会被初始化成如下代码。斜体 属性为可选属性:

<ajaxToolkit:CascadingDropDown ID="CDD1" runat="server"
    TargetControlID="DropDownList2"
    Category="Model"
    PromptText="Please select a model"
    LoadingText="[Loading models...]"
    ServicePath="CarsService.asmx"
    ServiceMethod="GetDropDownContents"
    ParentControlID="DropDownList1"
    SelectedValue="SomeValue" />
TargetControlID - 扩展的 DropDownList 控件 ID
Category - 对应的数据的分类,例如上面例子中的“区域”、“省份”或者“城市”
PromptText - 在 DropDownList 被选择前提示用户的信息
PromptValue - 对应提示信息的 Value,这里指的是 DropDownList 中一个 ListItem 中的 Value 值
EmptyText - 当从 Web Service 中获得数据为空的时候 DropDownList 显示的信息,可选
EmptyValue - 对应当数据项为空的时候 DropDownList 中显示 EmptyText 的信息的 Value,这里指的是 DropDownList 中一个 ListItem 中的 Value 值,可选
LoadingText - 当 CascadingDropDown 在和 Web Service 进行数据通信的时候显示的信息
ServicePath - 对应的获得数据的 Web Service 路径,如果对应的 Web Service 方法为当前页的 Web Service 方法时,需要将其指定为空
ServiceMethod - 对应的获得 Web Service 方法名,它需要指定为如下的函数签名
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public CascadingDropDownNameValue[] GetDropDownContents(
       string knownCategoryValues, string category) { ... }
注意:
--------------------------------------------------------------------------------
你可以替换上面示例中的方法名称,GetDropDownContents 为任何你想要的方法名,但是返回值和参数列表需要保持完全一致。
ContextKey - 一个可用于传入 Web Service 方法的参数,该参数将用于 Web Service 根据客户端的不同操作产生相应的不同的返回结果,当采用 ContextKey 的时候,这个方法的函数签名如下表示:
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public CascadingDropDownNameValue[] GetDropDownContents(
       string knownCategoryValues,
       string category, string contextKey) { ... }
注意:
--------------------------------------------------------------------------------
你可以替换上面示例中的方法名称,GetDropDownContents 为任何你想要的方法名,但是返回值和参数列表需要保持完全一致。
UseContextKey - 指定是否采用 ContextKey,当函数签名采用了带有 ContextKey 的函数签名时,这个属性将被自动设置为 True
ParentControlID - 上一级 DropDownList 控件的 ID,当其没有上一级 DropDownList 的时候,该属性被设置为空,例如上面例子中的 “区域”
SelectedValue - 默认的初始化选中值的 Value,这里指的是 DropDownList 中 ListItem 的 Value 值
代码示意:
<ajaxToolkit:CascadingDropDown runat="server" TargetControlID="DropDownList1" Category="Make" PromptText="Please select a make" LoadingText="[Loading makes]" ServicePath="CarsService.asmx" ServiceMethod="GetDropDownContents"/>
<ajaxToolkit:CascadingDropDown runat="server" TargetControlID="DropDownList2" Category="Model" PromptText="Please select a model" LoadingText="[Loading models]" ServiceMethod="GetDropDownContentsPageMethod" ParentControlID="DropDownList1"/>
<ajaxToolkit:CascadingDropDown runat="server" TargetControlID="DropDownList3" Category="Color" PromptText="Please select a color" LoadingText="[Loading colors]" ServicePath="~/CascadingDropDown/CarsService.asmx" ServiceMethod="GetDropDownContents" ParentControlID="DropDownList2"/>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值