【发布时间】:2015-12-29 14:40:16
【问题描述】:
Asp.Net 4.5 (WebForms)
如何从异步回发中排除容器 div?容器正在渲染 webgl。我尝试按照其他搜索的建议将其添加到触发器中,但出现错误。
错误
- 通过 RegisterAsyncPostBackControl 注册 ID 为“容器”的控件...
注意
- 如果我将容器移到更新面板之外,它可以工作,但是位置会出错。
示例
<div id="main" class="main">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div>
<div>
more controls ...
</div>
</div>
<div id="container" class="container" runat="server"></div>
<div>
more controls ...
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="container" />
</Triggers>
</asp:UpdatePanel>
</div>
【问题讨论】:
-
为什么不为 container div 上方和下方的 div 使用 2 个单独的更新面板?
-
@vnikhil 好问题。这恰好嵌套在其他更新面板中。我只是把所有这些乱七八糟的东西都从这个例子中去掉了。否则我肯定会使用 2 个单独的更新面板。
-
我认为您发现了 UpdatePanel 的限制之一。或许最好放弃 UpdatePanel,而是将 AJAX 调用(可能使用 jQuery 之类的帮助程序库)编码到服务器端?结果通常更易于理解和调试,并减少了带宽使用和服务器负载。
标签: c# jquery asp.net visual-studio web-applications