2009-05-04 57 views
3

我收到错误:“无效的回发或回调参数。事件验证在配置或页面中启用。出于安全目的,此功能验证回发或回调事件的参数源自最初的服务器控件如果数据是有效的和预期的,使用ClientScriptManager.RegisterForEventValidation方法为了注册回发或回调数据进行验证。“事件验证在配置或页面中启用。我不通过JavaScript修改控件中的数据。这个错误很少发生,我只知道它是由于我在引发异常时设置了一些自动电子邮件。寻找异常原因的最佳途径是什么?有时可能有些文本输入到文本框中导致这个错误,我需要做一个Html Encode?我什么时候可以编码?回发或回调参数无效。调试问题

+0

+1我只是碰到了同样的问题,今天对于一直处于页面生产2个月,跆拳道:( 祝你好运,我会看这一个! – 2009-05-05 14:38:43

+1

@greg:嘿格雷格,这是正常的回发,或ASP.NET Ajax回发? – andy 2009-05-07 00:13:37

回答

1

如果问题很少发生,它通常通常意味着某些用户已经发布了一个页面来快速或有一个很差的连接,这不允许所有隐藏的ASP.net回调JavaScript机制到位。

1

当用户在字段中提交具有潜在危险字符的表单时('<','>'等),我经常遇到此问题。如果您的页面需要允许这些字符以表单的形式提交,则需要将页面级属性“ValidateRequest”设置为false。

Ex。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyClass.cs" Inherits="MyClass" ValidateRequest="false" %> 

如果你想阻止这些类型的提交(这通常是可取的),你可能需要添加客户端脚本,以防止形式的无效字符输入。如果用户无法输入无效值,则表单可以成功发布。如果你只在服务器端进行验证,它将不会运行,因为.NET ValidateRequest首先发生。

0

我以前有过这个错误,原来有人将form runat="server"标记的“action”属性更改为不同的url(除非使用跨页面回发,否则不起作用)。

-edit:在这种情况下ofcourse它不经常发生,因此,它可能不会帮助你正确的解决方案

相关问题