我已经搜索过谷歌和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>
感谢任何帮助。谢谢!
答案 0 :(得分:2)
我只是在这里粘贴我的评论。这是我在这里的第一篇文章,所以我不知道大的“答案”按钮。 : - |
我和妻子一起坐在沙发上时,我想到了这一点。在面板外面有一个验证总结,其中包含一些requiredfieldvalidator。我不认为这是相关的,所以我没有在这里发布 - 但它确实如此!它实际上没有回发整个页面,但它正在尝试验证空文本框。解决方案:将CausesValidation =“false”添加到异步回发触发器按钮。我觉得因为错过了一些如此基本的东西而感到宽慰和愚蠢。谢谢!