2012-05-11 63 views
0

在我的web應用程序中,我有一個GridView和一些其他控件。用戶可以對網格視圖進行排序和過濾。他們還允許點擊鏈接並轉到其他頁面,然後他們也可以轉到其他頁面。但是,當他們暨回到第一個gridview頁面。網格與他們離開頁面的網格相同。例如分頁,排序和其他。維護一個網頁的狀態

我找到了解決方案。但我不是很懂。 http://www.codeproject.com/Articles/7655/Persisting-the-state-of-a-web-page

這裏是我的編碼WebForm1.aspx的

protected void Button2_Click(object sender, EventArgs e) 
    { 

        PersistentStatePage abc = new PersistentStatePage(); 
     abc.RedirectSavingPageState("WebForm2.aspx"); 
    } 

WebForm2.aspx

protected void Button1_Click(object sender, EventArgs e) 
    { 
     PersistentStatePage.RedirectToSavedPage("WebForm1.aspx", true); 
    } 

任何人都可以公會我一些例子嗎?

回答

1

該codeproject文章並不真的意味着這種情況。這是關於將視圖狀態保存到安全的服務器位置,而不是將其全部發送給隱藏的輸入字段中的用戶,這會導致大量的膨脹。

最好的方式去做這個會議。

創建自定義對象以存儲要保留的信息並將其放入會話中。 檢查出的文章下面關於使用會話http://asp.net-tutorials.com/state/sessions/

那麼你不必擔心繞過所有其他網頁的細節。

+0

嗨,isit可以存儲會話上的網頁的狀態。然後我可以從會話中得到結果。 – user998405

+0

這是可能的,但我建議你不要存儲完整的視圖狀態結果,因爲它們會有較少的可預測結果。如果我是你,我會將用戶調整的參數存儲在像CurrentPage,SortByColumn等自定義類中。嘗試並保持整頁面狀態返回是危險的,因爲您在更改數據時會遇到問題。如果你確實需要保持數據的性能,那麼我會使用緩存..再次避免存儲完整的視圖狀態。 – Gats