[置顶] 关于“索引和长度必须引用该字符串内的位置。参数名: length”错误的解析

时间:2021-08-21 10:50:59

索引和长度必须引用该字符串内的位置。
参数名: length

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。
参数名: length

源错误: 


行 157:                </EditItemTemplate>
行 158:                <ItemTemplate>
行 159:                    <asp:Label ID="Label1" runat="server" 
行 160:                        Text='<%# (Eval("concent")).ToString().Substring(0,5) %>'></asp:Label>   //错误
行 161:                </ItemTemplate>
 
说明:concent是AccessDataSource中的一项。

错误原因:Substring(0,5)出错是由于concent中有长度小于5。

修改办法:将concent中的每一项长度都改为长度至少是5,也就是说Substring(0,a)中a的最大值应该小于或者等于所在项中的最小长度。