明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

DataGrid 分頁問題

[摘要]最近做網(wǎng)站遇到了一個奇怪的問題,在進行DataGrid進行分頁時,無法響應(yīng) PageIndexChanged 事件 。 我也查閱了很多關(guān)于這方面的文章,可是還是沒有得到解決方案。 在和別人的探討中發(fā)現(xiàn)了癥結(jié)所在首先,我先將代碼貼過來:下面是DataGird控件的HTML代碼(不包含字段綁定)<...
最近做網(wǎng)站遇到了一個奇怪的問題,在進行DataGrid進行分頁時,無法響應(yīng) PageIndexChanged 事件 。

我也查閱了很多關(guān)于這方面的文章,可是還是沒有得到解決方案。 在和別人的探討中發(fā)現(xiàn)了癥結(jié)所在

首先,我先將代碼貼過來:

下面是DataGird控件的HTML代碼(不包含字段綁定)

<asp:datagrid id="SearchGrid" runat="server" width="100%"     autogeneratecolumns="False"  EnableViewState="true"    AllowPaging="True" PageSize="3" PagerStyle-Mode="NumericPages" PagerStyle-HorizontalAlign="Right" PagerStyle-pagebuttoncount="5" onpageindexchanged="SearchGrid_PageIChanged" >

下面是后代碼:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not IsPostBack Then
                BindGrid()
            End If
        End Sub

public Sub SearchGrid_PageIChanged(ByVal s As Object, ByVal e As DataGridPageChangedEventArgs)
            SearchGrid.CurrentPageIndex = e.NewPageIndex
            BindGrid()
 End Sub

Public Sub BindGrid()
            SearchGrid.DataSource = (綁定你的數(shù)據(jù)源)

            SearchGrid.DataBind()

  End Sub

對與上面的代碼,第一次加載頁面都可以得到正確的顯示結(jié)果和頁數(shù),但是切換頁面時不能響應(yīng)分頁事件

經(jīng)過跟蹤程序發(fā)現(xiàn)切換頁面每次都要調(diào)用PageLoad , 我把DataBind移出Is notpostback后,分頁可以正常

說明每次在回送頁面時都要重新給DataGrid加載數(shù)據(jù),隨即考慮到DataGrid設(shè)置了EnableViewState為False

DataGrid數(shù)據(jù)沒有保留下來,導(dǎo)致DataGrid只有在每次加載都重新綁定才能實現(xiàn)保持狀態(tài)而正常分頁。

        因此將EnableVIewState設(shè)置為True ,問題解決。





標(biāo)簽:DataGrid 分頁問題