示例:
<asp:DropDownList runat="server" AutoPostBack="true" ID="ddlSample">
<asp:ListItem Text="text1" />
<asp:ListItem Text="text2" />
</asp:DropDownList>
现在,如果更改上述下拉列表中的项目,则会导致所有其他下拉列表回发事件。
像
<asp:DropDownList EnableViewState="true" ID="ddlNewSelec" runat="server"
AutoPostBack="true" OnSelectedIndexChanged="ddlNewSelec_SelectedIndexChanged">
<asp:ListItem Text="--Select Test Type--" Value="" />
</asp:DropDownList>
详细说明:
页面已禁用 ViewState 。我尝试为各个下拉列表启用viewstate,但这没关系。
知道为什么会这样。
如果您需要更多详细信息,请与我们联系
编辑:
下拉列表会触发表单上所有其他下拉列表的selectedindexchanged事件。名为ddlSample的下拉列表不会导致回发,但为什么其他下拉列表的selectedindexchanged evenet会被激活。
其他信息:
所有输入都在updatePanel中,删除它们不会产生任何影响。
在页面加载中我没有在回发上做任何事情
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindSomeDDLs();
}
}
答案 0 :(得分:0)
您没有在“ddlSample”下拉列表中绑定SelectedIndexChanged事件。请尝试绑定该属性..
<asp:DropDownList ID="ddlSample" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlSample_SelectedIndexChanged">
<asp:ListItem Text="text1" />
<asp:ListItem Text="text2" />
</asp:DropDownList>
答案 1 :(得分:0)
答案似乎很奇怪但这是真的。
这只是因为EnableViewState属性设置为false而发生的。