我收到错误:“无效的回发或回调参数。在配置或页面中使用启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且需要,请使用ClientScriptManager.RegisterForEventValidation方法来注册回发或回调数据以进行验证。”可以在配置或页面中使用启用事件验证。我没有通过javascript修改控件中的数据。这个错误很少发生,我只知道这是因为我在抛出异常时设置了一些自动电子邮件。找出异常原因的最佳方法是什么?有没有可能有时文本框中输入的某些文本会导致此错误,而我需要进行Html编码?我什么时候做编码?
发布于 2009-05-04 08:05:24
如果这个问题很少发生,通常是,这意味着一些用户已经快速发布了一个页面,或者有一个非常差的连接,这不允许所有隐藏的ASP.net回调javascript机制到位。
发布于 2009-05-04 08:20:19
当用户提交一个表单时,我经常遇到这个问题,表单的字段中有潜在的危险字符('<','>‘等)。如果您的页面需要允许在表单中提交这些字符,则需要将页面级属性“ValidateRequest”设置为false。
例如。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyClass.cs" Inherits="MyClass" ValidateRequest="false" %>
如果您想阻止这些类型的提交(这通常是明智的),您可能需要添加客户端脚本,以防止在表单中输入无效字符。如果用户不能输入无效值,则表单可以成功发送。如果您尝试仅在服务器端进行验证,它将不会运行,因为.NET ValidateRequest最先发生。
发布于 2009-05-06 05:36:19
我以前遇到过这个错误,结果是有人将form runat="server"
标记的"action“属性更改为不同的url (除非使用跨页回发,否则不起作用)。
-edit:在这种情况下,这种情况当然并不少见,所以它可能不会帮助您找到正确的解决方案
https://stackoverflow.com/questions/820702
复制相似问题