我正在处理一个小新闻应用程序,我试图从数据列表中的标签中删除部分文本,这是我的代码
<asp:DataListID="itemListNews"runat="server">
<ItemTemplate>
<div class="news">
<span class="news-author"><%#DataBinder.Eval(Container.DataItem,"author") %></span>
<asp:Label ID="lbTest" runat="server" class="news-text"><%#DataBinder.Eval(Container.DataItem,"news") %></asp:Label>
</div>
</ItemTemplate>
我一直在尝试一些事情并且不断收到错误消息:startIndex must be less than the length of the string.Parameter name: startIndex
foreach (DataListItem item in itemListNews.Items)
{
Label lbtest = (Label) item.FindControl("lbTest");
lbtest.Text.Remove(10);
}
任何建议都会有所帮助
答案 0 :(得分:2)
首先,您应该测试您的字符串大小是否大于10,最后还要分配新值:
if (lbtest.Text != null && lbtest.Text.Length > 10)
{
lbtest.Text = lbtest.Text.Remove(10);
}
仅执行lbtest.Text.Remove(10);
不执行任何操作(string
是不可变的,因此您应该重新分配它。)