asp.net GridView激发了未处理的事件“PageIndexChanging”的分析

简介:

这个问题网上有许多解决方法,主要是因为没有为GridView指定PageIndexChanging事件:

解决方法:

首先在aspx中指定:

1
2
< asp:GridView  ID = "GridView2"  runat = "server"  OnPageIndexChanging = "GridView1_PageIndexChanging"  AllowPaging = "True"  PageSize = "10" >
</ asp:GridView >

然后后台代码:

1
2
3
4
5
6
protected  void  GridView1_PageIndexChanging( object  sender, GridViewPageEventArgs e)
{
     GridView1.PageIndex = e.NewPageIndex;
     GridView1.DataSource = getData(); //调用绑定的具体方法
     GridView1.DataBind();
}

通过这个设置,是可以解决标题所示报错的。

之所以把这个问题拿出来说一下,主要是我之前也用过GridView,记得那时候也是可以分页的,但是并没有使用PageIndexChanging事件来处理也没问题啊。经过网上文章总结,发现是GridView数据源绑定方式的问题:

如果对GridView使用了DataSource来手动绑定,就必须来手动处理翻页。手动绑定就是设置GridView的DataSource(比如一个DataTable 等)并调用它的DataBind方法来实现绑定。(就是上面的方法)

而我之前之所以没有遇到过这个错误,是因为使用了自动绑定,也就是通过设置GridView的DataSourceID,将其指定给某一个数据源控件(比如ObjectDataSource,SqlDataSource等),因为这些控件具有一些自动处理表格的功能,因此就无省去了许多手工编码工作。

1
2
3
4
5
6
7
8
< asp:GridView  ID = "GridView1"  runat = "server"  AllowPaging = "True"  AutoGenerateColumns = "False"  DataSourceID = "SqlDataSource1"  PageSize = "10" >
     < Columns >
         < asp:BoundField  DataField = "ID"  HeaderText = "ID"  />
         < asp:BoundField  DataField = "Name"  HeaderText = "Name"  />
     </ Columns >
</ asp:GridView >
< asp:SqlDataSource  ID = "SqlDataSource1"  runat = "server"  ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT * FROM [table1]">
</ asp:SqlDataSource >

现在很少用控件了,不是因为不好用,而是工作中一直搞前端开发,所以忘得差不多了。










本文转自 我不会抽烟 51CTO博客,原文链接:http://blog.51cto.com/zhouhongyu1989/1332260,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
安全 数据安全/隐私保护 开发者
三款.NET 代码混淆工具比较分析:ConfuserEx、Obfuscar 和 Ipa Guard
三款.NET 代码混淆工具比较分析:ConfuserEx、Obfuscar 和 Ipa Guard
|
3月前
|
存储 运维
使用Visual Studio分析.NET Dump
使用Visual Studio分析.NET Dump
|
1月前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
2月前
|
开发框架 缓存 .NET
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
|
5月前
|
存储 测试技术 计算机视觉
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
|
5月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
77 0
|
5月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
76 0
|
jenkins 关系型数据库 MySQL
一文搞定SonarQube接入C#(.NET)代码质量分析
一文搞定SonarQube接入C#(.NET)代码质量分析
1490 0
一文搞定SonarQube接入C#(.NET)代码质量分析
|
开发框架 .NET 数据库连接
在ASP.NET中实现选中、编辑和删除GridView数据项
在ASP.NET中实现选中、编辑和删除GridView数据项
在ASP.NET中实现选中、编辑和删除GridView数据项
|
存储 开发框架 JSON
一套标准的ASP.NET Core容器化应用日志收集分析方案
本文记录一套标准的、无侵入的的容器化应用日志收集方案:
一套标准的ASP.NET Core容器化应用日志收集分析方案