c#从数据列表内的标签上移除字符串的部分

本文关键字:字符串 标签 数据 列表 | 更新日期: 2023-09-27 18:20:16

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

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

任何建议都将有助于

c#从数据列表内的标签上移除字符串的部分

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

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

只做lbtest.Text.Remove(10);不会有任何作用(string是不可变的,所以您应该重新分配它)。