求助!!!如何解决“应用程序中的服务器错误——索引超出范围。必须为非负值并小于集合大小”问题?

Abby_Smile 2011-05-21 05:10:51
点击“删除”出现如下错误提示,如何解决啊?


“/MyElect”应用程序中的服务器错误。
--------------------------------------------------------------------------------

索引超出范围。必须为非负值并小于集合大小。
参数名: index
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index

源错误:


行 69: protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
行 70: {
行 71: string courseID = GridView1.DataKeys[e.RowIndex].Value.ToString();
行 72: SqlConnection conn = new SqlConnection("server=.;database=Elect;Integrated Security=SSPI");
行 73: string sqlString = String.Format("delete from Courses where CourseID={0}",courseID);


源文件: d:\大学课程\大三第二学期课程\ASP\A\第10周第1次课\MyElect\CourseManage.aspx.cs 行: 71

堆栈跟踪:


[ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index]
System.Collections.ArrayList.get_Item(Int32 index) +7487608
System.Web.UI.WebControls.DataKeyArray.get_Item(Int32 index) +12
CourseManage.GridView1_RowDeleting(Object sender, GridViewDeleteEventArgs e) in d:\大学课程\大三第二学期课程\ASP\A\第10周第1次课\MyElect\CourseManage.aspx.cs:71
System.Web.UI.WebControls.GridView.OnRowDeleting(GridViewDeleteEventArgs e) +102
System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +566
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +820
System.Web.UI.WebControls.GridView.OnBubbleEvent(Object source, EventArgs e) +87
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e) +123
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.ImageButton.OnCommand(CommandEventArgs e) +88
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +178
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2863
--------------------------------------------------------------------------------
GridView1_RowDeleting代码如下:

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string courseID = GridView1.DataKeys[e.RowIndex].Value.ToString();
SqlConnection conn = new SqlConnection("server=.;database=Elect;Integrated Security=SSPI");
string sqlString = String.Format("delete from Courses where CourseID={0}",courseID);
SqlCommand cmd = new SqlCommand(sqlString, conn);
int count = cmd.ExecuteNonQuery();
if (count > 0)
{
Response.Write("<script>alert('删除成功')</script>");
}
conn.Close();
BindGrid();
}
...全文
246 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Abby_Smile 2011-05-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ojlovecd 的回复:]
你绑定GridView肯定是要调用DataBind()方法的吧?
就在调用这个方法之前加上:
this.GridView1.DataKeyNames = new string[] { "字段名" };
[/Quote]

OK 了,谢谢~~O(∩_∩)O~
格桑花 2011-05-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ojlovecd 的回复:]
你绑定GridView肯定是要调用DataBind()方法的吧?
就在调用这个方法之前加上:
this.GridView1.DataKeyNames = new string[] { "字段名" };
[/Quote]+++
我姓区不姓区 2011-05-22
  • 打赏
  • 举报
回复
你绑定GridView肯定是要调用DataBind()方法的吧?
就在调用这个方法之前加上:
this.GridView1.DataKeyNames = new string[] { "字段名" };
Abby_Smile 2011-05-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ojlovecd 的回复:]
你为GridView的DataKeys绑定值了吗?
[/Quote]

如何为GridView的DataKeys绑定值啊???
wen6997793 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ojlovecd 的回复:]
你为GridView的DataKeys绑定值了吗?
[/Quote]
支持。。
我姓区不姓区 2011-05-21
  • 打赏
  • 举报
回复
你为GridView的DataKeys绑定值了吗?
  • 打赏
  • 举报
回复
GridView1.DataKeys[e.RowIndex].Value.ToString();======GridView1.Rows[e.RowIndex].Value[0].ToString();
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程,应动手调试参数,复现文翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧