ASP.NET - Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:无效的回发或回调参数

时间:2011-11-10 01:57:08

标签: asp.net updatepanel

我不明白为什么会这样。我将以下代码添加到我的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>
  1. 我第一次点击“验证”按钮时,代码工作正常。
  2. 我第二次运行它时出现以下错误:
  3.   

    Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:无效的回发或回调参数。使用配置或&lt;%@ Page EnableEventValidation =“true”%&gt;启用事件验证在一个页面中。出于安全考虑,此功能可验证回发或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证。

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

3 个答案:

答案 0 :(得分:3)

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

if(!IsPostback)
{

}

这可能会有所帮助。

答案 1 :(得分:2)

实际上,我正在使用Page_Load方法加载数据,但奇怪的是,当您单击具有跳跃命令的网格时,运行时错误javascript。

是解决方案
(! IsPostBack)
{
/ / loadData
}

答案 2 :(得分:0)

信不信由你,我花了半天的时间才找到导致这个错误的原因。那么也许有人可以给我一个合理的解释,说明这两者是如何联系的?

在页面加载事件期间代码中的某处我通过向其添加项目来设置DropDownList控件,如下所示:

DropDownList1.Items.Add(new ListItem("Name", "Value"));

这是一个aspx代码:

<asp:DropDownList ID="DropDownList1" runat="server" EnableViewState="false"></asp:DropDownList>

因此,如果我从上面的标记中删除EnableViewState =“false”,则完全不相关的区域(即updatePanel)中的错误消息就会消失。

知道如何连接两个????