真的很奇怪...所以我试图将我的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