为什么我的ASP.NET UpdatePanel会导致整页回发?

时间:2011-12-30 20:44:19

标签: asp.net ajax updatepanel

我已经搜索过谷歌和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>

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

我只是在这里粘贴我的评论。这是我在这里的第一篇文章,所以我不知道大的“答案”按钮。 : - |

我和妻子一起坐在沙发上时,我想到了这一点。在面板外面有一个验证总结,其中包含一些requiredfieldvalidator。我不认为这是相关的,所以我没有在这里发布 - 但它确实如此!它实际上没有回发整个页面,但它正在尝试验证空文本框。解决方案:将CausesValidation =“false”添加到异步回发触发器按钮。我觉得因为错过了一些如此基本的东西而感到宽慰和愚蠢。谢谢!