【发布时间】:2012-01-30 19:38:38
【问题描述】:
我已经通过 Google 和 Stack Overflow 搜索过这个,但我发现是空的。
我有一个在 IIS 6 上运行的 ASP.NET 3.5 Web 应用程序,它使用的是 UpdatePanel。每当我单击应该导致异步回发的控件时,我都会得到一个完整的页面回发。可以肯定的是,我将 http://ajax.net-tutorials.com/controls/updatepanel-control/ 中的代码复制到了我的应用程序的新页面中,它工作正常。我错过了什么?
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="pnlAdd" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnRefreshCaptcha" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Literal ID="litTest" runat="server" />
<asp:LinkButton ID="btnRefreshCaptcha" runat="server"
onclick="lbnRefreshCaptcha_Click" Text="Refresh code" />
</ContentTemplate>
</asp:UpdatePanel>
感谢任何帮助。谢谢!
【问题讨论】:
-
链接和您的代码的唯一区别是更新模式,但我认为这不会导致这种情况。您的代码是否在任何其他控件中?
-
我和妻子坐在沙发上时,一闪而过。面板外部有一个验证摘要,其中包含一些必需的字段验证器。我不认为它是相关的,所以我没有在这里发布 - 但它是!它实际上并没有发回整个页面,而是试图验证空文本框。解决方案:将 CausesValidation="false" 添加到异步回发触发按钮。我为弄清楚它而感到宽慰,为错过如此基本的东西而感到愚蠢。谢谢!
标签: asp.net ajax updatepanel