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,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
安全 数据安全/隐私保护 开发者
三款.NET 代码混淆工具比较分析:ConfuserEx、Obfuscar 和 Ipa Guard
三款.NET 代码混淆工具比较分析:ConfuserEx、Obfuscar 和 Ipa Guard
|
20天前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
17天前
Visual Studio 快速分析 .NET Dump 文件
【11月更文挑战第10天】.NET Dump 文件是在 .NET 应用程序崩溃或出现问题时生成的,记录了应用程序的状态,包括内存对象、线程栈和模块信息。通过分析这些文件,开发人员可以定位和解决内存泄漏、死锁等问题。在 Visual Studio 中,可以通过调试工具、内存分析工具和符号加载等功能来详细分析 Dump 文件。此外,还可以使用第三方工具如 WinDbg 进行更深入的分析。
|
5月前
|
存储 运维
使用Visual Studio分析.NET Dump
使用Visual Studio分析.NET Dump
|
3月前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
4月前
|
开发框架 缓存 .NET
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack Traces)
|
7月前
|
存储 测试技术 计算机视觉
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据
|
7月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
85 0
|
7月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
83 0
|
jenkins 关系型数据库 MySQL
一文搞定SonarQube接入C#(.NET)代码质量分析
一文搞定SonarQube接入C#(.NET)代码质量分析
1556 0
一文搞定SonarQube接入C#(.NET)代码质量分析