2010-02-11 72 views
1

我正在使用UpdatePanelScriptManagerAddHistoryPoint方法在瀏覽器的歷史記錄中保存我的頁面狀態。該網頁是用2個狀態的簡單的搜索/結果頁:ScriptManager.AddHistoryPoint - 頁面首先顯示原始頁面狀態,然後保存狀態

  • STATE 1 - 顯示搜索篩選器
  • STATE 2 - 顯示搜索結果

當我回到該頁面(點擊我的瀏覽器中的後退按鈕),頁面顯示初始狀態(狀態1),但更新面板發回並且頁面翻轉到搜索結果(狀態2)。

這看起來不整潔,感覺就像我在我的實現中丟失了一些東西。如何告訴頁面要麼加載保存的狀態,要麼隱藏頁面內容,直到加載保存的狀態爲止?

回答

0

,因爲我知道在ScriptManager的事件OnNavigateHistory你必須處理那裏,例如添加HistoryPoint爲國家一個,兩個相同的密鑰ID只值是不同的,thene上e.State [「YourKey」] OnNavigateHistory基地你做出決定至極留下狀態。 例如

string indexString = e.State["YourKey"]; 
    if (String.IsNullOrEmpty(indexString)) { 
     SetToStateOne(); 
    } 
    else { 
     int index = int.Parse(indexString); 
     SetToStateTwo(); 
    } 

對不起我的英語不好