我在baidu上面找了半天,沒有人正面回答這樣的問題,只見有人提問。這裡我就將自己的經曆發出來。
關於怎麼用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,這樣的話就可以實現多級聯動的再綁定了。
會者不難,難者不會。
這小東西搞了我一下午,從生命週期開始研究,一頭霧水。
如果能協助大家的話,給個評論吧,自己寫的,比較亂。