最近做网站遇到了一个奇怪的问题,在进行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 public sub searchgrid_pageichanged(byval s as object, byval e as datagridpagechangedeventargs) public sub bindgrid() searchgrid.databind() end sub 对与上面的代码,第一次加载页面都可以得到正确的显示结果和页数,但是切换页面时不能响应分页事件 经过跟踪程序发现切换页面每次都要调用pageload , 我把databind移出is notpostback后,分页可以正常 说明每次在回送页面时都要重新给datagrid加载数据,随即考虑到datagrid设置了enableviewstate为false datagrid数据没有保留下来,导致datagrid只有在每次加载都重新绑定才能实现保持状态而正常分页。 因此将enableviewstate设置为true ,问题解决。
if not ispostback then
bindgrid()
end if
end sub
searchgrid.currentpageindex = e.newpageindex
bindgrid()
end sub
searchgrid.datasource = (绑定你的数据源)
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器