当我从客户端返回一个页面时,我得到以下错误。我有JavaScript代码,修改asp:ListBox在客户端。

我们如何解决这个问题?

错误详情如下:

Server Error in '/XXX' Application.

--------------------------------------------------------------------------------
Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[ArgumentException: Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.]
   System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +2132728
   System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +108
   System.Web.UI.WebControls.ListBox.LoadPostData(String postDataKey, NameValueCollection postCollection) +274
   System.Web.UI.WebControls.ListBox.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +11
   System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +353
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1194

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

当前回答

我的问题解决时取消事件结束时网格事件在服务器端。

protected void grdEducation_RowEditing(object sender, GridViewEditEventArgs e)
{
  // do your processing ...

  // at end<br />
  e.Cancel = true;
}

其他回答

四分钟前我收到了同样的错误。然后我像你一样研究了半个小时。在所有论坛中,他们通常会说“添加页面enableEvent..”=假或真”。任何提出的解决方案都不能解决我的问题,直到我找到它。不幸的是,问题出在ASP。净按钮。我两秒钟前把它取下来了。我尝试用“imagebutton”替换,但这也是不可接受的(因为它给出了相同的错误)。

最后我已经替换为LinkButton。它似乎起作用了!

如果您通过客户端脚本填写下拉列表,则在将表单提交回服务器之前清除列表;然后ASP。NET将不会抱怨,安全性将仍然存在。

为了从DDL中获得选择的数据,您可以将“OnChange”事件附加到DDL以收集隐藏输入或文本框中的值,并使用Style="display: none;"

我通过没有将ListBox添加到父Page/Control控件集合来解决这个确切的错误。因为我真的不需要任何服务器端功能。我只是想用它来输出自定义服务器控件的HTML,这是我在OnRender事件处理程序中自己做的。我希望使用该控件可以使我不必编写自己的html响应。

这个解决方案可能不适合大多数人,但它使ASP。NET对控件执行ValidateEvent,因为控件在回发之间不会保留在内存中。

此外,我的错误是由选定的列表项是一个项目,不是在前回发的列表框。希望能帮到谁。

3:我改变了我的按钮类型在网格 列从“PushButton”到 “LinkButton”。它工作! ("ButtonType="LinkButton")我认为如果 你可以把你的按钮换成其他的 其他控件如“LinkButton” 在这种情况下,它会正常工作。

我希望我能给你投票,阿米尔(唉,我的代表太低了。)我只是有这个问题,改变这个工作就像一个冠军在我的网格视图。稍微提一下,我认为有效的代码是:ButtonType="Link"

我怀疑这是因为当你点击“编辑”时,你的编辑变成了“更新”和“取消”,然后在提交时又变成了“编辑”。这些变化的控件让。net很不舒服。

我遇到了同样的问题,两个列表框和两个按钮。

列表框中的数据是从数据库中加载的,您可以通过单击按钮在框之间移动项目。

我收到了一个无效的回发。

结果是数据中有回车换行符,当显示在列表框中时无法看到。

在除ie10和ie11之外的所有浏览器中都运行良好。

拆下车架回换线,一切正常。