当前位置: 首页 > 图文教程 > 网络编程 > ASP > DataGrid 分页问题

ASP
一段ASP 伪静态代码
asp的程序能实现伪静态化的方法
实例讲解实现抓取网上房产信息的ASP程序
[图]Flash+ASP实现电子互动地图在线标注功能
asp下多个域名后缀同时查询的域名查询系统
用ASP实现对ORACLE数据库的操作
用ASP做的DNS LOOKUP程序
用存储过程、GetRows()、抽取10万条数据的速度测试
asp中利用CSW中文分词组件来实现自己网站的内容关键词自动提取
ASP+JS三级联动下拉菜单[调用数据库数据]
用ASP实现距指定日期的倒记时程序源码
详细讲解ASP脚本循环语句
ASP中如何判断一个字符是不是汉字
将ACCESS转化成SQL2000要注意的问题
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
在ASP中使用均速分页法提高分页速度的方法
ASP+COM不得不注意的问题
ASP生成动态flash的工具与介绍
用asp实现的数据库中存取文件的代码
asp的通用数据分页类

ASP 中的 DataGrid 分页问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 196 ::
收藏到网摘: n/a

最近做网站遇到了一个奇怪的问题,在进行DataGrid进行分页时,无法响应 PageIndexChanged 事件 。

我也查阅了很多关于这方面的文章,可是还是没有得到解决方案。 在和别人的探讨中发现了症结所在

首先,我先将代码贴过来:

下面是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 = (绑定你的数据源)

            SearchGrid.DataBind()

  End Sub

对与上面的代码,第一次加载页面都可以得到正确的显示结果和页数,但是切换页面时不能响应分页事件

经过跟踪程序发现切换页面每次都要调用PageLoad , 我把DataBind移出Is notpostback后,分页可以正常

说明每次在回送页面时都要重新给DataGrid加载数据,随即考虑到DataGrid设置了EnableViewState为False

DataGrid数据没有保留下来,导致DataGrid只有在每次加载都重新绑定才能实现保持状态而正常分页。

        因此将EnableVIewState设置为True ,问题解决。