c#从datalist中的标签中删除部分字符串

时间:2012-01-15 14:29:25

标签: c# label datalist

我正在处理一个小新闻应用程序,我试图从数据列表中的标签中删除部分文本,这是我的代码

<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);    
    }

任何建议都会有所帮助

1 个答案:

答案 0 :(得分:2)

首先,您应该测试您的字符串大小是否大于10,最后还要分配新值:

if (lbtest.Text != null && lbtest.Text.Length > 10)
{
  lbtest.Text = lbtest.Text.Remove(10);
}

仅执行lbtest.Text.Remove(10);不执行任何操作(string是不可变的,因此您应该重新分配它。)