2012-01-13 35 views
1

我有一個帶有TextBox,Button,ListBox和另一個Button的自定義字段。當我點擊其中一個按鈕時,出現以下錯誤(當前沒有邏輯或數據填充文本框或列表框,我只是試圖連線):回發時的Sitecore自定義字段錯誤(無法加載視圖狀態)

「無法加載視圖狀態。要加載viewstate的樹必須與前一個請求期間用於保存viewstate的控件樹相匹配,例如,動態添加控件時,在回發期間添加的控件必須與在添加期間添加的控件的類型和位置相匹配最初的要求。「

我在每一個OnLoad中添加我的控件。有什麼建議麼?

+0

請提供的示例代碼 – 2012-01-13 01:55:00

+0

@birdus,你能不能提供更新? – 2012-03-27 08:45:02

回答

-1

我遇到過類似的問題。你會需要視圖狀態嗎?否則,請嘗試在您的<%@ page %>聲明中設置enableviewstate="false"以完全禁用它。

+0

我不認爲我需要viewstate,但這是一個用戶控件,我不認爲我有權訪問將承載用戶控件的實際Sitecore頁面中的頁面聲明。 – birdus 2012-01-13 15:19:07

+0

這不需要解決這個問題。 – 2012-01-19 01:40:56

1

看看ASP.net頁面的生命週期。我認爲這個錯誤發生在控件樹從viewstate生成時改變了,所以它不再匹配,即控件不能從viewstate重新填充。

OnLoad在處理過程中已經到了re -create controls。也許你只需要將其移至Init即可。

見其他答案 - Add dynamic controls in ASP.NET, is there a difference between 1.1 and 2.0?

+0

這是正確的答案。 OnLoad太晚了(視圖狀態已經恢復。) – 2012-01-19 01:39:42

相關問題