我不确定为什么会发生这种情况,但我在事件处理程序中有一个断点,它只注册到下拉列表 A 并且每次下拉列表 B 更改其选定的索引并导致回发时,断点被激活。
下拉列表 B 不应注册任何事件处理程序。
另一个奇怪的是,我创建了一个新的网络表单,并将两个下拉列表的相关代码复制到新表单中,一切正常。
下拉列表 B 触发下拉列表 A 的处理程序的原因可能是什么?
编辑:我会在后面发布代码,但它相当冗长,即使只是在相关部分。
我确实对短语 selectedIndex 进行了搜索,但我只在一个使用正确下拉列表注册它的地方找到了它。所有这些都是以编程方式完成的,因此标记不会有太大帮助。
编辑2:
DropDownList ddlname1 = new DropDownList();
ddlname1.AutoPostBack = true;
ddlname1.EnableViewState = true;
ddlname1.ID = "ddlname1" + dex.ToString();
ddlname1.DataSource = nameODS1;
ddlname1.DataValueField = "Card";
ddlname1.DataBind();
这些是唯一提到 ddlname1(或上述讨论中的下拉列表 B)的行。
编辑3:
DropDownList ddlset1 = new DropDownList();
ddlset1.ID = "ddlset1" + dex.ToString();
ddlset1.SelectedIndexChanged += new EventHandler(ddlset_SelectedIndexChanged);
ddlset1.AutoPostBack = true;
ddlset1.EnableViewState = true;
ddlset1.DataSource = setODS1;
ddlset1.DataValueField = "Set";
ddlset1.DataBind();
根据要求,这是与其他下拉列表相关的代码
编辑4:我刚刚注意到其他可能相关的东西。两个下拉列表都在同一个更新面板中。但是,在我为测试创建的测试表单中也是如此,并且在那里一切正常。