当前位置:编程学习 > C#/ASP.NET >>

关于三层体系中GV控件gvClass_RowDeleting的错误

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

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

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

源错误: 


行 132:
行 133:        //}
行 134:        string strID = gvClass.DataKeys[e.RowIndex].Value.ToString();
行 135:        if (cs.Delete(strID) > 0)
行 136:        {
 [ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index]
   System.Collections.ArrayList.get_Item(Int32 index) +2776653
   System.Web.UI.WebControls.DataKeyArray.get_Item(Int32 index) +9
   ManagerClass.gvClass_RowDeleting(Object sender, GridViewDeleteEventArgs e) in e:\web\MIS\ThreeLayers\ManagerClass.aspx.cs:134
   System.Web.UI.WebControls.GridView.OnRowDeleting(GridViewDeleteEventArgs e) +99
   System.Web.UI.WebControls.GridView.HandleDelete(GridViewRow row, Int32 rowIndex) +610
   System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +1152
   System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +190
   System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +172
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4921

 


--------------------------------------------------------------------------------


--------------------编程问答-------------------- 在你的 

string strID = gvClass.DataKeys[e.RowIndex].Value.ToString();

if (cs.Delete(strID) > 0)

外面加上 if(e.RowIndex >-1) --------------------编程问答-------------------- 楼主你用的是什么?直接绑的数据源 还是事件 --------------------编程问答-------------------- 检查 你的 查询 语句 --------------------编程问答-------------------- 数据返回null,估计sql 数据为空 --------------------编程问答-------------------- 设置断点,单步跟踪检查e.RowIndex
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,