在线等,两个DropDownList联动,二级DropDownList在模板中有自己的事件
在线等,两个DropDownList联动,二级DropDownList在模板中,有自己的事件,我想点击第一个DropDownList时候改变第二个DropDownList的值,然后第二个DropDownList触发自己的事件
这是第一个
- C# code
<asp:dropdownlist id="ddl_AllAction" runat="server" AutoPostBack="True"> protected void ChangeAllAction(object sender, System.EventArgs e) { for(int i = 0; i < dg1.Items.Count; i++) { DropDownList ddl_action =(DropDownList)dg1.Items[i].FindControl("ddl_action"); ddl_action.SelectedIndexChanged += new System.EventHandler(this.ChangeAction); ddl_action.AutoPostBack = true; ddl_action.SelectedIndex = ddl_AllAction.SelectedIndex; } }这个是模板列中的
- C# code
<ItemTemplate><asp:DropDownList id="ddl_action" runat="server" Width="100%" OnSelectedIndexChanged="ChangeAction" AutoPostBack="True"></asp:DropDownList></ItemTemplate>
ChangeAction是这个的绑定事件
问题是我现在虽然,第一个DropDownList的值改变后,第二个也会改,但是不会触发第二个DropDownList的selectindexchange事件
[解决办法]
看看小生的小文: GridView中多个DropDownList的联动问题
[解决办法]
OnSelectedIndexChanged
这个需要鼠标选择项的时候触发的吧
[解决办法]
或者自己打个断点调试一下。
[解决办法]
放在load_page事件里面在后台赋值
[解决办法]
水平有限 小弟目前也是有这样的问题 有两个解决方法
1:联动DropDownList做成用户控件
2:自己重新写一个DropDownList,继承DropDownList,然后给这个自己的DropDownList加一个DropDownList类型的属性就叫做LinkedDropDownList,相当于单链表结构了
第二个比较好 因为不仅可以做二级联动 三级联动 四级联动都可以