2013-05-21 41 views
0

我已經創建了拉弧網頁。在那裏我提供過濾,短路,分組和分頁的功能。由於性能問題,我試圖將viewsatate移入會話。 那裏我設置啓用viewsate虛假網頁,並添加到頁面的波紋碼。視圖狀態移動會話會生成一個錯誤,因爲「狀態信息對於此頁無效,可能已損壞。 '

protected override object LoadPageStateFromPersistenceMedium() 
    { 
     return Session["ViewState-" + Request.Url.AbsolutePath]; 

    } 
    protected override void SavePageStateToPersistenceMedium(object state) 
    { 
     Session["ViewState-" + Request.Url.AbsolutePath] = state; 

     ClientScript.RegisterHiddenField("__VIEWSTATE", ""); 
    } 

但是當我做的RAD電網的一些東西就會產生波紋錯誤

狀態信息是這個頁面無效,可能已損壞。

回答

1

如果您使用的是ASP.NET 2.0或更高版本,則Microsoft在Session中爲ViewState提供了內置功能。您應該使用它來獲得最大的兼容性。

只是把這個在您的.CS在http://msdn.microsoft.com/en-sg/library/system.web.ui.sessionpagestatepersister.aspx

+0

謝謝MikeLim文件

protected override PageStatePersister PageStatePersister { get { return new System.Web.UI.SessionPageStatePersister(this); } } 

鏈接,我刪除的EnableViewState = 「假」,並把你的代碼放到我的.cs頁。 它解決了我的錯誤,但它不影響頁面的性能。 仍然頁面大小非常巨大。 – Wella

相關問題