0

例子:

  <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 。我尝试为各个下拉菜单启用视图状态,但这没关系。

知道为什么会这样。

如果您需要更多详细信息,请告诉我

编辑:

下拉菜单会触发表单上所有其他下拉菜单的 selectedindexchanged 事件。名为 ddlSample 的下拉列表没有做任何事情,只是导致回发,但为什么其他下拉列表的 selectedindexchanged 事件触发了。

附加信息:

所有输入都在 updatePanel 中,删除它们不会产生任何影响。

在页面加载中,我在回发时没有做任何事情

   protected void Page_Load(object sender, EventArgs e)
   {
     if (!IsPostBack)
        {
            BindSomeDDLs();
         }
    }
4

2 回答 2

0

您没有在“ddlSample”下拉列表中绑定 SelectedIndexChanged 事件。请尝试像这样绑定该属性..

<asp:DropDownList ID="ddlSample" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlSample_SelectedIndexChanged">
    <asp:ListItem Text="text1" />
    <asp:ListItem Text="text2" />
</asp:DropDownList>
于 2013-06-20T10:24:43.897 回答
0

答案似乎很奇怪,但这是真的。

发生这种情况只是因为 EnableViewState 属性设置为 false。

于 2013-06-25T11:48:30.053 回答