Ajax CascadingDropDown DropDownList 二级联动 再绑定数据 丢失数据 处理

来源:互联网 发布:涵洞软件安装问题 编辑:程序博客网 时间:2024/05/19 13:20
 于怎么用ajax控件CascadingDropDown来实现多级联动绑定。


网络上很多实现多级联动(simple: 二级联动,比如第一个dropdown是省,选择了第一个才能出现第二个dropdown是市)的实例,这个就省略了。

这里介绍,如何将保存的数据重新绑定到ajax控件中。
前提:1. 我用SqlDataSource用来绑定“省”, 用ajax:CascadingDropDown来映射“市”。
            2. 市的数据来自web service, 当省被选定的时候,就向web service中传省值return的子集市。

步骤:1. 在省的绑定后事件中绑定 省的保存值
 
 protected void ddlDivisions_DataBound(object sender, EventArgs e)
    
{
            ddlDivisions.Items.FindByValue(Profile.ApprovalFilterParameters.DivisionId.ToString()).Selected 
= true;
     }

2. 在Page_load事先把cdd(CascadingDropDown)的SelectValue设定好,把套先放好,等这数据子集过来撞。
if (!IsPostBack)
        
{
              
if(Profile.ApprovalFilterParameters.Saved)
                     cddOffices.SelectedValue 
= Profile.ApprovalFilterParameters.OfficeId.ToString();
         }


这样的话,在client side,ajax控件自动会检索省的设置,自行从web service取子集合,然后将“市”drop down绑定,但是由于之前已经设定了selectedValue,这样的话就可以实现多级联动的再绑定了。

 

来自 http://blog.csdn.net/camel0564/archive/2008/01/28/2070174.aspx

 

个人觉得如果省也是web service取数据的话 不用数据绑定事件 直接 cddoffices.selectvalue=值 也行.