索引和长度必须引用该字符串内的位置。
参数名: length
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。
参数名: length
源错误:
行 64: valHtml.Append(" </td>");
行 65: valHtml.Append(" <td style=\"color:#B7B7B7\">");
行 66: valHtml.Append(" ( " + dr["PulbishTime"].ToString().Substring(0,10) + ") ");
行 67: valHtml.Append(" </td>");
行 68: valHtml.Append("</tr>");
源文件: c:\inetpub\wwwroot\myjob\index.aspx.cs 行: 66
堆栈跟踪:
[ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。
参数名: length]
System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) +10083684
index.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\myjob\index.aspx.cs:66
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +42
System.Web.UI.Control.OnLoad(EventArgs e) +132
System.Web.UI.Control.LoadRecursive() +66
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428
5 个解决方案
#1
dr["PulbishTime"].ToString().Substring(0,10) 应该是这一句有问题,dr["PulbishTime"].ToString()没有10个字符。
#2
Substring(0,10)取得位置有问题,或许字段内容不够10个
#3
valHtml.Append(" ( " + dr["PulbishTime"].ToString().Substring(0,10) + ") ");
字符串长度没有10个那么长了。
字符串长度没有10个那么长了。
#4
dr["PulbishTime"].ToString()
时间字符串你的估计是 2012-7-6 这样的话,你根本去不到10个字符的 2012-07-06这样的才可以。
其实你可以这样
valHtml.Append(" ( " + DateTime.Parse(dr["PulbishTime"].ToString()).ToString("yyyy-MM-dd") + ") ");
时间字符串你的估计是 2012-7-6 这样的话,你根本去不到10个字符的 2012-07-06这样的才可以。
其实你可以这样
valHtml.Append(" ( " + DateTime.Parse(dr["PulbishTime"].ToString()).ToString("yyyy-MM-dd") + ") ");
#5
((DateTime)(dr["PulbishTime"])).ToString("yyyy-MM-dd")
#1
dr["PulbishTime"].ToString().Substring(0,10) 应该是这一句有问题,dr["PulbishTime"].ToString()没有10个字符。
#2
Substring(0,10)取得位置有问题,或许字段内容不够10个
#3
valHtml.Append(" ( " + dr["PulbishTime"].ToString().Substring(0,10) + ") ");
字符串长度没有10个那么长了。
字符串长度没有10个那么长了。
#4
dr["PulbishTime"].ToString()
时间字符串你的估计是 2012-7-6 这样的话,你根本去不到10个字符的 2012-07-06这样的才可以。
其实你可以这样
valHtml.Append(" ( " + DateTime.Parse(dr["PulbishTime"].ToString()).ToString("yyyy-MM-dd") + ") ");
时间字符串你的估计是 2012-7-6 这样的话,你根本去不到10个字符的 2012-07-06这样的才可以。
其实你可以这样
valHtml.Append(" ( " + DateTime.Parse(dr["PulbishTime"].ToString()).ToString("yyyy-MM-dd") + ") ");
#5
((DateTime)(dr["PulbishTime"])).ToString("yyyy-MM-dd")