2009-05-04 65 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它不經常發生,因此,它可能不會幫助你正確的解決方案

相關問題