求DropDownList联动方法,第一个DropDownList改变属性值时改变第二个DropDownList,然后第二个DropDownList
求DropDownList联动方法,第一个DropDownList改变属性值时改变第二个DropDownList,然后第二个DropDownList触发自己的selectindexchange事件。
我的代码如下
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
<asp:DropDownList id="ddl_action" runat="server" Width="100%" OnSelectedIndexChanged="ChangeAction" AutoPostBack="True"></asp:DropDownList>
现在的问题时第一个列表值改变,第二个列表的值也会变 但是第二个列表值改变的时候,不会触发他的OnSelectedIndexChanged事件。
------解决方案--------------------联动的下拉框 就用ajax来做吧
------解决方案--------------------AutoPostBack="true"
有这个吗
------解决方案--------------------<asp:DropDownList id="ddl_action" runat="server" Width="100%" OnSelectedIndexChanged="ddl_action_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
protected void ddl_action_SelectedIndexChanged(object sender, EventArgs e)
{
....这里是你的操作
}
------解决方案--------------------加上AutoPostBack="true" 如二楼所说
------解决方案--------------------你第一个触发时如果没调用
可以手动调用下