[ASP.NET][GridView][Debug]解決「無效的回傳或回呼引數」的錯誤

  • 4654
  • 0
  • 2018-03-30

免改設定,加IsPostBack判斷就好。

錯誤訊息:「無效的回傳或回呼引數。已在組態中使用 <pages enableEventValidation="true"/> 或在網頁中使用 <%@ Page EnableEventValidation="true" %> 啟用事件驗證。基於安全性理由,這項功能驗證回傳或回呼引數是來自原本呈現它們的伺服器控制項。如果資料為有效並且是必需的,請使用 ClientScriptManager.RegisterForEventValidation 方法註冊回傳或回呼資料,以進行驗證。」

我會遇到這個問題,是因為在程式中使用了 GridView,
每次執行 Page_Load 事件時都會 Bind 資料到這個 GridView,
遇到 PostBack 時就會觸發上述的錯誤。

解決這個錯誤訊息的辦法是,在 Page_Load 事件中檢查是否為 PostBack,
若否,才將資料綁到 GridView 上頭。例如以下這樣:

protected void Page_Load(object sender, EventArgs e)
    {
        // 取得 GridView 內容
        if (!IsPostBack)
        {
            data_bind();    // 自訂的 GridView databind函式
        }
    }

來源:

[ASP.NET]解決「無效的回傳或回呼引數」的錯誤