我完全沉迷于此,并会真正感谢任何帮助。ASP.net更新面板事件问题
我正在使用位于更新面板内的用户控件。表单上有一个按钮,用于加载一些数据。这工作正常。
还有一个下拉框来过滤数据。改变这个确实会启动一个回帖,但是没有任何反应。下拉框会回到默认值OnSelectedIndexChanged函数永远不会被调用。
我已经在page_prerender和page_preload中放置了断点,并且两个都被打回来了,肯定发生了。带有dropdownGroup_changed功能的断点永远不会被击中。
删除更新面板解决了这个问题,但是它破坏了页面的其余部分,所以除了测试之外,我无法使用它。
我也验证过,我的预渲染器/页面加载中没有任何内容会重置页面的状态。
这里是更新面板代码:
<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期间检查了控件 - 值始终相同。
事实上,按钮的作品,但其他控制不让我觉得有一个视图状态问题在这里某处,但我不能完全查明是什么导致它。 Viewstate对页面和面板启用 - 不知道是否有其他任何东西可能会覆盖/破坏它。
我有没有提到我讨厌激情更新面板?因为我讨厌激情更新面板。
我目前正在与看起来与您完全相同的问题和场景挣扎(即dropdownlist的onselection在updatepanel内的用户控件内未触发,但autopostback正在触发)。我一直在这里检查,希望有人提供一些有用的信息。如果我自己发现了一些有用的东西,我一定会发布它。 – 2009-12-02 20:00:30
我找到了我的问题的答案。请参阅下文(http://stackoverflow.com/questions/1829062/event-issue-with-asp-net-update-panel/1836412#1836412) – 2009-12-02 22:47:00