2009-12-17 106 views
0

我有一個頁面上的動態生成的網格視圖,在後面的代碼中提供的排序也。 現在我使用鏈接從頁面A移動到頁面B,這也可以正常工作。 但是,當我按下瀏覽器後退按鈕,回到我的頁面A,並再次嘗試排序...頁面A拋出異常...瀏覽器後退按鈕創建問題

有沒有一種方法來編程這個後退按鈕,就像我們編程一個按鈕通常..

感謝

`找不到列計算機名。 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

Exception Details: System.IndexOutOfRangeException: Cannot find column machinename. 

Source Error: 

Line 519:     
Line 520:    //Sort the data. 
Line 521:    dt.DefaultView.Sort = e.SortExpression + " " +  GetSortDirection(e.SortExpression); 
Line 522:    GridView1.DataSource = Session["TaskTable"]; 
Line 523:    GridView1.DataBind();` 
+1

可以讓我們知道您收到了什麼類型的錯誤?也許堆棧跟蹤和一些代碼? – user10635 2009-12-17 19:45:46

+1

通常,按下後退按鈕將顯示頁面的緩存副本(因爲瀏覽器通常會緩存)。如果將綁定數據保留在視圖狀態中,則應該進行排序。 此外,您可以使用fiddler並在後退按鈕前後檢查請求以查看它們是否相同。 – 2009-12-17 20:53:20

回答

0

頁A可能是緩存在您的瀏覽器。點擊返回時會得到這個緩存版本。請嘗試強制瀏覽器不緩存頁面在後面的代碼(網頁A的)有:

Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetExpires(DateTime.Now - new TimeSpan(1, 0, 0)); 
Response.Cache.SetLastModified(DateTime.Now); 
Response.Cache.SetAllowResponseInBrowserHistory(false);