2009-01-26 20 views
0

我在這裏一個奇怪的問題......IIS 5.1/6.0差異與DataGrid和SqlDataSource的刷新

我有一個ASP.NET 3.5應用程序,它有一個GridView和對Default.aspx的一個SqlDataSource。 GridView是數據綁定到SqlDataSource的。 GridView爲每個稱爲「視圖」的行都有一個按鈕,它將用戶發送到可以編輯行的單獨頁面。

我有兩個安裝此應用程序 - 一個在我的開發筆記本電腦上,這是運行IIS 5.1的XP和運行IIS 6.0的Windows 2003服務器上的另一個。 web.config文件是相同的,IIS配置屬性是相同的,並且它打到同一個數據庫。

在我的筆記本電腦上,我看到的行爲是「正確的」,如下所示: 1.打開頁面,通過分頁鏈接選擇數據網格的第15頁。 2.單擊查看按鈕查看記錄,查看編輯頁面。 3.單擊「返回」按鈕,返回到Default.aspx頁面,GridView將重新加載/刷新新數據。再次單擊查看將帶您到適當的項目。

在服務器上,我看到: 1.打開頁面,通過分頁鏈接選擇數據網格的第15頁。 2.單擊查看按鈕查看記錄,查看編輯頁面。 3.單擊「返回」按鈕,返回到Default.aspx頁面,GridView將NOT重新加載新數據(立即彈出)。點擊查看再次帶您到錯誤項目。

顯然有一些緩存問題,但我無法弄清楚...有什麼想法?

回答

0

我不確定它的確切原因,或者它的原因,但正如我預料的那樣,這是一個緩存問題。當我添加語句時:

Response.CacheControl = "no-cache"; 

對於Default.aspx.cs,問題消失。後退按鈕鎖定請求模式並不奇怪,但是我確實發現在我的筆記本電腦上運行的IIS 5.1處理後退按鈕比IIS 6.0更好,這一點令人驚訝......