cascadingDropdown 控件的使用

 


<ajaxToolkit:CascadingDropDown ID="CDD1" runat="server"
    TargetControlID="DropDownList2"//所绑定的控件

    Category="Model" //对应的数据的分类,例如“区域”、“省份”或者“城市”

    PromptText="Please select a model" //在 DropDownList 被选择前提示用户的信息

     PromptValue - 对应提示信息的 Value,这里指的是 DropDownList 中一个 ListItem 中的 Value 值

    EmptyText="没有数据" //当从 Web Service 中获得数据为空的时候 DropDownList 显示的信息,可选

    EmptyValue="0"    //对应当数据项为空的时候 DropDownList 中显示 EmptyText 的信息的 Value,这里指的是 DropDownList 中一个 ListItem 中的 Value 值,可选
   
    LoadingText="[Loading models...]"  //当 CascadingDropDown 在和 Web Service 进行数据通信的时候显示的信息

    ServicePath="CarsService.asmx"    //对应的获得数据的 Web Service 路径,如果对应的 Web Service 方法为当前页的 Web Service 方法时,需要将其指定为空

    ServiceMethod="GetDropDownContents" //对应的获得 Web Service 方法名,它需要指定为如下的函数签名

    ParentControlID="ddlCategory"    //绑定父控件的名字当this不为为级联的第一级时要使用此属性

    SelectedValue="SomeValue" />

——————————————————————————————————————————————————
WEB服务的代码

 
    [WebMethod]
    public CascadingDropDownNameValue[] GetCategory(string knownCategoryValues, string category)  //cascadingDropDownNameValue[]是个键值对的数组[值,键];
             
    {
        List<CascadingDropDownNameValue> namevalues = new List<CascadingDropDownNameValue>();
        List<Category> categories = CategoryManager.SelectAll() as List<Category>;
        foreach (Category item in categories)
        {
            namevalues.Add(new CascadingDropDownNameValue(item.CategoryName, item.CategoryId.ToString()));
        }
        return namevalues.ToArray();
    }

    [WebMethod]
    public CascadingDropDownNameValue[] GetProduct(string knownCategoryValues, string category)  //knownCategoryValues中存的为对应父控件的Category:value为String类型
                      例如 城市:110000
    {
        List<CascadingDropDownNameValue> namevalues = new List<CascadingDropDownNameValue>();
        StringDictionary kv = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);       此方法可以把String类型的KnownCategoryValues裁切成[值,键]StringDictionary类型
        List<Product> products = ProductManager.GetProductsByCategoryId(Convert.ToInt32(kv["Category"]));  根据Kv的键取值得到ProductList泛型
        foreach (Product product in products)
        {
            namevalues.Add(new CascadingDropDownNameValue(product.ProductName, product.ProductId.ToString()));
        }
        return namevalues.ToArray();
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值