我不明白为什么会这样。我将以下代码添加到我的ASP.NET项目中,几天前它运行良好。然后,我继续在页面上工作,直到今天我尝试单击下面的代码中的“验证”按钮,结果如下:

首先,这是asp.net代码:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
 <ContentTemplate>
  <asp:TextBox ID="TextVerifyName" runat="server" CssClass="input1" EnableViewState="false"></asp:TextBox>
  <asp:Button ID="ButtonVerifyName" runat="server" Text="Verify" CssClass="checkButton" onclick="ButtonVerifyName_Click" />
  <asp:UpdateProgress ID="UpdateProgressVerifyName" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
   <ProgressTemplate>
    <img src="Graphics/spinner.gif" alt="Please wait" />
   </ProgressTemplate>
  </asp:UpdateProgress>
 </ContentTemplate>
</asp:UpdatePanel>



第一次单击“验证”按钮时,代码工作正常。
第二次运行它时,出现以下错误:



Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:无效的回发或回调参数。使用配置或页面中的启用事件验证。为了安全起见,此功能验证回发或回调事件的参数源自最初呈现它们的服务器控件。如果数据有效且预期,请使用ClientScriptManager.RegisterForEventValidation方法以注册回发或回调数据以进行验证。


有人可以解释为什么会发生这种情况,因为上面的错误消息只不过是100%令人困惑???我没有用ClientScriptManager.RegisterForEventValidation方法做任何事情。

最佳答案

尝试将您在page_load事件中指定的任何函数/绑定放入其中

if(!IsPostback)
{

}


这可能会有所帮助。

10-06 07:57