说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
分析: 1.gridview的datasource是否重新做了绑定 2.是否设定了datakeynames属性
源错误:
行 50: mycmd.CommandType = CommandType.StoredProcedure;行 51: SqlParameter para_id = new SqlParameter("@id", SqlDbType.Int);行 52: para_id.Value = (int)gv_result.DataKeys[e.RowIndex].Value;行 53: mycmd.Parameters.Add(para_id);行 54: mycmd.ExecuteNonQuery();
昨天我在用gridview做数据删除时遇到这样一个问题,一直出现索引超出范围。必须为非负值并小于集合大小。参数名: index 的错误,郁闷了一阵子,后来才知道需要给Grewview绑定一个主键,也就是在Grewview属性中加入DataKeyNames="主键字段名",
(也可在绑定数据的时候加入,
gv_result.DataSource = mydr;
gv_result.DataKeyNames = new string[] { "mem_id"} ;
gv_result.DataBind)
这样问题得到了解决。
//.aspx
<asp:GridView ID="gv_result" runat="server" AutoGenerateColumns="False" DataKeyNames="mem_id" BorderColor="Black" BorderStyle="None" BorderWidth="0px" CellSpacing="3" GridLines="Horizontal" Width="400px" OnRowDeleting="gv_result_RowDeleting">
<FooterStyle BackColor="#B5C7DE" BorderColor="#4A3C8C" BorderStyle="None"/>
<Columns>
<asp:BoundField DataField="mem_id" HeaderText="编号" />
<asp:BoundField DataField="mem_account" HeaderText="用户账号" />
<asp:BoundField DataField="mem_ip" HeaderText="用户ip" />
<asp:BoundField DataField="mem_regdate" HeaderText="用户注册时间" />
<asp:HyperLinkField DataNavigateUrlFields="mem_id" DataNavigateUrlFormatString="mod.aspx?id={0}"
HeaderText="修改" Text="修改" />
<asp:HyperLinkField DataNavigateUrlFields="mem_id" DataNavigateUrlFormatString="del.aspx?id={0}"
HeaderText="链接删除" Text="删除" />
<asp:CommandField HeaderText="按钮删除" ShowDeleteButton="True" ButtonType="Button" />
</Columns>
<RowStyle BackColor="#C0FFC0" BorderColor="Black" BorderStyle="None" />
<HeaderStyle BackColor="Gray" BorderColor="Gray" ForeColor="White" />
<AlternatingRowStyle BackColor="#FF80FF" />
</asp:GridView>
//.cs
protected void gv_result_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string connstr = ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString;
SqlConnection myconn = new SqlConnection(connstr);
myconn.Open();
SqlCommand mycmd = new SqlCommand("MemDel", myconn);
mycmd.CommandType = CommandType.StoredProcedure;
SqlParameter para_id = new SqlParameter("@id", SqlDbType.Int);
para_id.Value = (int)gv_result.DataKeys[e.RowIndex].Value;
mycmd.Parameters.Add(para_id);
mycmd.ExecuteNonQuery();
myconn.Close();
Response.Write("<script>alert('删除成功!');window.location.href='search.aspx';</script>");
}
分享到:
相关推荐
数据库自动备份程序!可跨平台方便实现Oracle数据库的自动备份功能!
这是我自己写的一个电商前台类,一直报C#索引超出范围。必须为非负值并小于集合大小。参数名: index的错,望大神们私聊我帮助我解决问题,有重谢
主要介绍了z-index为负值的元素无法点击到的解决方法,需要的朋友可以参考下
为什么RSSI是负值,其实归根到底为什么接收的无线信号是负值,这样子是不是容易理解多了。因为无线信号多为mW级别,所以对它进行了极化,转化为dBm而已,不表示信号是负的。1mW就是0dBm,小于1mW就是负数的dBm数。
ArcGIS问题:面积出现负值的情况的解决方法
在双对数模型中,我们常常遇到部分变量取对数后存在负值,比如比值型变量X,如果0< X,则在取对数后,lnX会变为负值。这是否影响回归结果呢?我们知道取自然对数 情况下,变量取值1,则自然对数值为0;变量取值小于1...
NULL 博文链接:https://maoting.iteye.com/blog/1730354
图像处理 直方图 遥感
构建两个新的训练样本,计算其对输出的影响变化值(IV),然后将影响变化值(IV)平均得到该自变量的MIV值,最后将每个自变量都重复上述步骤得到每个自变量的MIV值,并按绝对值大小对各自变量的影响程度进行排序。
电气试验中两个异常负值现象分析pdf,电气试验中两个异常负值现象分析
主要为大家介绍margin 负值引起的层级(z-index)问题的解决方法,需要的朋友可以参考下
为Excel2021图表负值设置不同颜色.docx
在Excel图表中处理负值.rar,采用自定义数字格式的方法,用不同的颜色来显示不同区间的数据标志。
序 列序列所谓序列:指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们在 Python 中,序列类型包括字符串、列表、元组、集合和字典这些序列支持以下几...
电动汽车还必须替代传统汽车,以使运输中的碳排放为零。 由于岛上的电网是隔离的,因此需要蓄电,并且可以通过电池或小型水泵蓄电系统获得电能。 满足加夫多斯岛所有电力需求的所需太阳能光伏系统的标称功率估计为...
CSS中背景background-position负值定位 CSS中背景background-position负值定位 CSS中背景background-position负值定位 CSS中背景background-position负值定位 CSS中背景background-position负值定位
我们在CSS中都会使用margin,但将margin设置成负数,那可能就不大好处理了,margin负值并非hack,margin负值遵循文档流;假如使用margin负值促使一个元素向上位移,那么相关元素也会随之发生位移;margin负值能良好...
论文研究-灰色系统中含负值项数列的数据提升建模方法.pdf, 按灰色系统的微分拟合建模理论,要求原始数据非负或经有限次累加生成可以变为非负,否则就放弃该方法。本文给出一种新的处理数据的方法,使得任何含负值项的...
三值光学处理器的MSD数据正_负值判断器设计与实现.pdf
Josephu问题 编写算法,对N个关键字取整数值的记录进行整理, 使所有关键字为负值的记录排在关键字为非负数的记录之前. 多项式相加 二叉树排序 冒泡 递归 非递归算法 折半查找算法