我正在编写一个用户控件,该控件位于更新面板内部。表单上有一个按钮用于加载某些数据,这部分功能正常运行。
还有一个下拉框用于过滤数据。更改选项会触发回发,但是没有任何反应。下拉框返回其默认值,OnSelectedIndexChanged函数从未被调用。
我在page_prerender和page_preload中设置了断点,两者都被触发,确实进行了回发,但是dropdownGroup_changed函数中的断点从未被触发。
删除更新面板可以解决该问题,但会破坏页面的其他部分,因此我不能将其用于除测试之外的任何内容。
我还验证了prerender / page load中没有重置页面状态的内容。
以下是更新面板代码:
<asp:UpdatePanel ID="UpdatePanel6" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional" >
<ContentTemplate>
<ucControlName:ControlName ID="ControlName1" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
这里是需要讨论的下拉菜单 - 它位于用户控件内部
<asp:DropDownList ID="dropdownGroup" runat="server" Visible="false" AutoPostBack="true" OnSelectedIndexChanged="dropdownGroup_changed"></asp:DropDownList>
当问题发生时,它当然是可见和数据绑定的。
更多信息- 向控件添加了一个硬编码下拉列表(排除愚蠢的数据绑定问题)和一个文本框。 我有同样的问题。
似乎事件没有触发,因为就.NET而言,值从未改变过。 我已在page_init和page_load期间检查了控件 - 值始终相同。
按钮可以工作,但其他控件不能工作,这使我想到可能存在视图状态问题,但我无法确定是什么原因导致的。 页面和面板启用了视图状态-不知道是否还有其他东西会覆盖/破坏它。
我提到我非常讨厌UpdatePanel了吗? 因为我非常讨厌UpdatePanel。