2010-02-05 68 views
1

出現在我們的日誌中看到以下消息:原因視圖狀態驗證失敗(但只是有時)

控制樹成VIEWSTATE 正在加載必須與用來保存視圖狀態 控制 樹匹配在之前的請求期間。例如,對於 示例,動態添加控件 時,在 期間添加的控件必須匹配 期間添加的控件的類型和 初始請求。

那麼,這很清楚,很多已經寫了關於這個問題。但是,我無法重現此行爲,並且我只在日誌中發現每天幾千個錯誤;所以它可能不是那麼明顯。

該頁面有一個UpdatePanel並根據查詢字符串加載三個用戶控件之一。

是否有任何已知的問題與某些客戶,或任何其他可能的解釋?

回答

0

一個可能問題可能是,那

  • 加載控件動態
  • 你不給他們明確的ID
  • 的順序,這些控制的娛樂是不同的(GET與POST)

我曾經有過這樣的問題。 Repeater也適合這種行爲,因爲每個Item都是一個INamingContainer。如果Repeater內容在回發期間發生變化,您可能會收到該錯誤。

0

我在更新面板位於頁面上的情況下看到了此行爲,並且此外的某個值發生了更改,但從未傳播到客戶端。

解決方案是確保獲取的任何值都得到更新客戶端。因此,當回發發生時,所有數據都與服務器端應該存在的內容匹配。

如果你有這樣的數據,你也可以把它放到更新面板中。

設置就可以了,在你的代碼隱藏中你可以在需要更新它時調用更新面板.update方法。