System.ArgumentOutOfRangeException: 长度不能小于 0
----------【YMGJ】艺萌管家
什么情况?
“/”应用程序中的服务器错误。
长度不能小于 0。
参数名: length
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentOutOfRangeException: 长度不能小于 0。
参数名: length
源错误:
行 312: if (BxsChkd)
行 313: {
行 314: idlist = idlist.Substring(0, idlist.LastIndexOf(","));
行 315: }
行 316: return idlist; |
源文件: E:\Project\lishuang 2016-7-4\lishuang 2016-7-9 223454\Web\Admin\SystemManager\Works\WorksList.aspx.cs 行: 314
堆栈跟踪:
[ArgumentOutOfRangeException: 长度不能小于 0。 参数名: length] System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +7501111 System.String.Substring(Int32 startIndex, Int32 length) +11 JCZB.YMGJ.Web.Admin.SystemManager.Works.WorksList.GetSelIDlist() in E:\Project\lishuang 2016-7-4\lishuang 2016-7-9 223454\Web\Admin\SystemManager\Works\WorksList.aspx.cs:314 JCZB.YMGJ.Web.Admin.SystemManager.Works.WorksList.btnDelete_Click(Object sender, EventArgs e) in E:\Project\lishuang 2016-7-4\lishuang 2016-7-9 223454\Web\Admin\SystemManager\Works\WorksList.aspx.cs:244 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110 System.Web.UI.WebControls.Button.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) +1565 |
版本信息: Microsoft .NET Framework 版本:2.0.50727.6421; ASP.NET 版本:2.0.50727.6427
解决方法:
找到真正出错的原因:
解决方案就是: 要进行判断,报错是什么?“长的不能小于0”,所以进行条件判断让长的大于0就行了。
<span style="font-size:18px;">if (BxsChkd)
{
if (idlist.LastIndexOf(",") >= 0)
{
idlist = idlist.Substring(0, idlist.LastIndexOf(","));
}
}</span>
小结:
有一个说法,在回答记者问题时,记者问你什么问题,你根据记者的问题,反过来
去回答记者就行。 这里报什么错,就根据这个错误去查,去找到解决方案,大部分情况
下都是行得通的,不信你看上面案例中,根据代码走查,是不是一步一步下来都通了。