真的很奇怪...所以我試圖將我的gridview的頁面索引保存在會話變量中,然後在用戶導航回到gridView時重置索引。下面是我的代碼。奇數的Visual Studio檢查變量值
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
If Not Page.IsPostBack Then
If Not Session("CurrentPage") Is Nothing AndAlso
Session("CurrentPage") <= GridView1.PageCount Then
GridView1.PageIndex = Session("CurrentPage")
End If
End If
End Sub
好奇怪的是,當我斷點第二IF上方懸停在頁頁次它說,它是0.如果我再進入我的監視窗口,並在它(再次0)看,然後去回到我的代碼並再次懸停它是2(它應該是)!然後我可以繼續經過中斷點,頁面顯示在頁面2上。然而,這就是它變得非常奇怪的地方,如果我刪除了斷點並運行它,我最終將在第1頁!所以它就好像PageCount
沒有更新,除非我在它上面放置了一個斷點並專門查看了它。任何人都可以解釋這種行爲以及如何解決這個問題?
UPDATE
這裏是有問題的變量的值的照片。您可以看到PageIndex未更新,因爲它從未進入IF
聲明,因爲PageCount早於0的時刻!我不能是唯一一個由這個難住了:變量值/
圖片:
作爲一個後續,如果OP使用'Option Strict On',這將是一個好主意。 – 2012-08-13 18:05:52
嗯,不行,問題在於我的PageCount,它仍然是0.更改我的currentPage類型不會影響它。 – windowskm 2012-08-16 09:15:33