2009-06-23 32 views
0

我即將發瘋 爲什麼?爲什麼?爲什麼?對象沒有從視圖狀態中檢索

保護無效的Page_Load(對象發件人,EventArgs的) { AttachedPartnersViewState VS = ViewState的[SessionVariables.Company_AttachedPartnersViewState如AttachedPartnersViewState;

protected override void OnUnload(EventArgs e) 
{ 
    ViewState[SessionVariables.Company_AttachedPartnersViewState] = _viewState; 

無論我做什麼。不過,我試圖保存這個Viewstate,它在卸載時似乎沒問題。然後,當頁面正在加載時,它再次爲NULL,儘管頁面處於回髮狀態,但它不會檢索。

這是基本操作,但它爲什麼不起作用?

BTW,控制的EnableViewState是真的

有什麼解釋嗎?

回答

2

SaveViewState在渲染方法之前。 ViewState被編碼並寫入到要重新發布的頁面中。如果在Render之後添加ViewState信息,則不會將其寫回頁面。因此它不會在回發中被讀回。將ViewState視爲隱藏輸入。

鏈接:

More on Page Lifecycle

More on ViewState

+0

感謝我試圖去之前這樣的方式,但在此之前渲染它會導致巨大的錯誤。它不會在傳遞行時將對象保存到viewstate(調試器通過該行),但是當頁面呈現時(看起來如此)。 類型'System.Web.HttpUnhandledException'的異常被拋出。 ---錯誤序列化'MDSWebApp.Controls.AttachedPartners + AttachedPartnersViewState'類型的值'MDSWebApp.Controls.AttachedPartners + AttachedPartnersViewState'。 – igor 2009-06-23 13:53:09