0

我正在将大型 C# asp.net 1.1 项目转换为 asp.net 2.0。一切都适用于 asp.net 1.1,但不适用于 asp.net 2.0。我已经设法编译所有东西,并且在大多数情况下一切正常,但我遇到了以下错误:

Invalid post or callback. <pages EventValidation="True"/> in configuration or <%@Page EnableEventValidation="true"%> in a page.  For security purposes, this feature verifies the arguments to post back or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use ClientScriptManager.Register for event validation method in order to register the postback or call back data for validation.

情况是我有一个页面启动另一个页面,并且启动的页面尝试回发到原始页面。当这在 ASP.Net 1.1 中有效,但在 asp.net 2.0 中无效时,我感到困惑。我已经验证在项目或其依赖项中找不到“EventValidation”。如果我必须使用 ClientScriptManager.Register 方法,调用是否需要进入父页面或子页面,我应该在哪里调用?

您可以提供的任何帮助将不胜感激。

4

2 回答 2

0

根据文档EnableEventValidation,该属性的默认值为true.

如果您不想禁用它,则应将值显式设置为false. 但不建议这样做:

强烈建议您不要禁用事件验证。在禁用事件验证之前,您应该确保不会构建会对您的应用程序产生意外影响的回发。

于 2013-06-19T19:59:51.020 回答
0

我最近不得不将一个 Web 应用程序从 .NET 1.1 升级到 .NET 4.0,我需要将这些标签添加到我的 web.config<system.web>部分:

<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" validateRequest="false"/>
于 2013-06-19T20:00:48.483 回答