点击“删除”出现如下错误提示,如何解决啊?
“/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();
}
“/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();
}
解决方案 »
- asp.net导出excel 加超链接
- MVC的传值问题
- 解析,急求结果,大神。
- 请教大师换算百分比显示的问题
- DataGrid导出到Excel的时候,某些数字内容显示不正确,"3.62201E+14"的格式 ,003会变成3
- 获得HTML控件显示的值
- 我的网站上的注册页面中的password型的文本框在本地能读取并插入到数据库中 但传到网上插入到数据库中是空的 急啊 帮帮忙 谢谢了
- 怎样在.NET中实现QQ或OUTLOOK那样的分组显示功能
- cs编译成dll总是出现命名空间为引用的错误
- .NET 中怎样包函一个文件 像ASP中的<include指命>一样?
- 数组拆分成一行三个
- 请高手看看,我该怎么解决,急待解决!
如何为GridView的DataKeys绑定值啊???
就在调用这个方法之前加上:
this.GridView1.DataKeyNames = new string[] { "字段名" };
OK 了,谢谢~~O(∩_∩)O~