GridView1.DataKeys[e.RowIndex].Value.ToString() 索引超出范围

问题:GridView1.DataKeys[e.RowIndex].Value.ToString() 必须为非负值并小于集合大小。

异常信息:System.Web.HttpUnhandledException: 引发类型为   “System.Web.HttpUnhandledException”的异常。---> System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。

报错位置:GridView1.DataKeys[e.RowIndex].Value.ToString()。

解决方法:只要在GridView列表属性的 DataKeyNames 项里添加所设为主键的字段名就可以

时间: 2024-10-12 08:39:42

GridView1.DataKeys[e.RowIndex].Value.ToString() 索引超出范围的相关文章

控件运行后报索引超出范围的问题解决

错误现象: 错误信息:索引超出范围.必须为非负值并小于集合大小. 参数名: index(开发环境:VS2010,三方控件DotNetBar) 一般在程序开发过程中项目报以上的错误,一般在程序界面是没有办法捕获异常的,不过也不是这样的问题就没有办法解决,我们可以在在项目的入口文件:Program.cs中添加一下代码: Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application

索引超出了数组界限(Microsoft.SqlServer.Smo)

SSMS连接远程SQL Server服务器是很方便的. 昨天我用SQL Server 2008 SSMS连接SQL Server 2012竟然报错,如下图: 在网上搜了,参考这个参考那个,太啰嗦了,确实是软件固有的问题,微软肯定会发补丁解决的! 于是看了我的SQL Server 2008的版本,在SSMS界面,帮助--关于.没有类似下面的Windows版本那样明显: 而是10.0.xxxx.x,我只知道10.0的SQL Server 2008,如果前面是10.5就是SQL Server 2008

索引超出范围bug(1)

错误信息: CustomerMessage:999999 - 系统异常. ExceptionID:ab4fde6a-d4a6-4ba0-8148-26e494ee8be3 Data:TtrackID>>Better.Infrastructures.Log.TrackID Better.Infrastructures.Log.AppException: 一拆分析异常 ---> System.ArgumentOutOfRangeException: 索引超出范围.必须为非负值并小于集合大小.

c# MVC中 @Styles.Render索引超出下标

@Styles.Render( "~/Content/bootstrap/css", "~/Content/mycss") 提示索引超出下标 后来发现市bootstrap.css文件的问题,当升级bootstrap3.3版本后,就出现了这个问题. 如果将bootstrap文件单独出来,使用html中link方式引用就可以. 后来在网上找到解决方案: WebGrease引起的,需要nuget更新一下WebGrease. 我将WebGrease更新到1.6版本就解决了

ThoughtWorks.QRCode 生成QR二维码时提示“索引超出了数组界限”的原因和解决方法

"索引超出了数组界限"也有可能确实是因为你选择的二维码Version对应的容量不足以存储你所放的内容,如果你确定使用的版本容量二维码能存储你的内容,但还是报错,那么再考虑此解决方法 这两天忙着做一个客户标签打印程序,因为二维码里面存在控制符,使用ZPL指令存在一些问题,因此决定使用生成二维码图片然后转换成ZPL格式图片来打印.途中找了很多类库,很多都无法自定义QR的version而放弃,转而找到ThoughtWorks.QRCode.dll,效果很满意,但是测试的时候发现经常会提示&q

Parameter index out of range(1 > number of parameters, which is 0)参数索引超出范围

今天在写项目的过程中,有一个模块是做多选删除操作,通过servlet获得多选框的value组,然后执行sql操作.如下: 1 @RequestMapping( "/delteCouse.do" ) 2 public void delCouse( HttpServletRequest req, HttpServletResponse resp ) throws SQLException { 3 4 //处理中文 5 try { 6 req.setCharacterEncoding(&qu

关于SQLserver2008索引超出了数据

由于公司只支持了2008.不支持2012的数据库.所以安装的2008.但在对表进行操作的时候出现如下异常: 这个问题是由于本地装的2008,但IT那边的测试机上面确装的2012.所以2008连接了2012的实例导致这个异常.操作的时候一直只能T-sql实现. 在网上找了很多关于这个方面的解决方法.安装了N多个补丁包.还是不能解决这个问题.待解决中...

呈现报表时出现错误 索引超出范围

在Reporting Services报表服务器上部署报表时,报如下错误: 针对该错误的排查步骤: 1.查看访问的报表的数据集是否在数据库中执行失败 2.查看报表页面中是否有错. 我遇到的问题是第二种,这种也是最不好排查的. 情况时是该报表在VS2003上可以正常显示,但是放到2008上就报错.最后,我重新在2008上创建一个同样的报表,一步一步的创建报表元素,最后发现有一个文本框属性中的“Repeat With”值为“table 10” ,去掉它就可以在2003和2008上正常显示了.

ASP.NET中gridview获取当前行的索引值

在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作.例如,可以获得当前行某一个控件元素:设置某一元素的值等等.下面结合实例介绍几种获得GridView当前行索引值的方法. 实例: ① 目的:获取GridView中RowCommand的当前索引行. ② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件. 代码: <asp:TemplateField HeaderText="操作"> <ItemTemplate