我在baidu上面找了半天,没有人正面回答这样的问题,只见有人提问。这里我就将自己的经历发出来。
关于怎么用ajax控件CascadingDropDown来实现多级联动绑定。
网络上很多实现多级联动(simple: 二级联动,比如第一个dropdown是省,选择了第一个才能出现第二个dropdown是市)的实例,这个就省略了。
这里介绍,如何将保存的数据重新绑定到ajax控件中。
前提:1. 我用SqlDataSource用来绑定“省”, 用ajax:CascadingDropDown来映射“市”。
2. 市的数据来自web service, 当省被选定的时候,就向web service中传省值return的子集市。
步骤:1. 在省的绑定后事件中绑定 省的保存值
2. 在Page_load事先把cdd(CascadingDropDown)的SelectValue设定好,把套先放好,等这数据子集过来撞。
这样的话,在client side,ajax控件自动会检索省的设置,自行从web service取子集合,然后将“市”drop down绑定,但是由于之前已经设定了selectedValue,这样的话就可以实现多级联动的再绑定了。
会者不难,难者不会。
这小东西搞了我一下午,从生命周期开始研究,一头雾水。
如果能帮助大家的话,给个评论吧,自己写的,比较乱。
关于怎么用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;
}
{
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();
}
{
if(Profile.ApprovalFilterParameters.Saved)
cddOffices.SelectedValue = Profile.ApprovalFilterParameters.OfficeId.ToString();
}
这样的话,在client side,ajax控件自动会检索省的设置,自行从web service取子集合,然后将“市”drop down绑定,但是由于之前已经设定了selectedValue,这样的话就可以实现多级联动的再绑定了。
会者不难,难者不会。
这小东西搞了我一下午,从生命周期开始研究,一头雾水。
如果能帮助大家的话,给个评论吧,自己写的,比较乱。