2014-02-08 25 views
0

我在Master Page上有一組控件。我用作所有頁面的鏈接集合(HyperLink控件)。當我瀏覽頁面時,我將當前打開頁面的具體鏈接設置爲hl.Visible = False。我已經注意到這個混亂了ViewState。我討厭鏈接到已經存在的頁面,有沒有辦法做到這一點,而不會搞亂ViewState?頁面上沒有動態控件。無法加載Viewstate - 母版頁上的控件

你會用什麼技術呢?

回答

0

更一般地說,當頁面的控件層次以阻止框架加載視圖狀態的方式更改時,會發生此錯誤。視圖狀態機制假定控件層次結構在加載時與保存時相同。

可能看起來像一個隨機錯誤,因爲有些情況下更改頁面中的控件不會阻止加載視圖狀態。看看你的頁面並尋找動態創建/刪除的控件。確保在加載視圖狀態之前(在頁面加載事件之前),在之前將任何控件添加到頁面。

不幸的是,沒有辦法看到控制層次結構中沒有正確添加的有罪控制。查看此錯誤的常見方法是在事件上添加一些動態控件(例如,在下拉選定索引已更改的情況下) - 這樣,它們的狀態將保存爲查看狀態 - 但不會在回發時將它們再次添加 - 這樣,視圖狀態是無效的,因爲當視圖狀態被加載時控件不再存在。

Source

+0

謝謝,我已經閱讀ViewState的一堆,我上面的已知問題。我只是想爲我想要的解決方法。 – OneFineDay