关于字符串处理问题ASP.NET(C#)

我看你有戏 2005-11-03 09:15:51
我是用DataGrid绑定数据库的

比如数据表中有个字段为title

我想实现这样的状态:当title的长度大于15的时候我就让它输出15个在后面加"..."

反之,则原样输出

不知道怎么解决,找了很多函数,用不上,帮帮我啊,谢谢
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
我看你有戏 2005-11-05
  • 打赏
  • 举报
回复
在绑定页面如下写
<%# myCutString(Convert.ToString(DataBinder.Eval(Container, "DataItem.strbrc_type"))) %>
看了这句,我又提高了一点,今天算是没白活了
我看你有戏 2005-11-04
  • 打赏
  • 举报
回复
15个字符的话,中文15个字符比英文十五个长多了,不知道怎么控制啊

用什么函数啊,谢谢
hchxxzx 2005-11-04
  • 打赏
  • 举报
回复
在绑定页面如下写
<%# myCutString(Convert.ToString(DataBinder.Eval(Container, "DataItem.strbrc_type"))) %>

在后台写个函数如下:
/// <summary>
/// 截取以字节计算的文本长度
/// </summary>
/// <param name="msytr">要截取的文本串</param>
/// <param name="intLength">要截取的字节数</param>
/// <returns>返回截取的字节数</returns>
public string myCutString(string mystr,int intLength)
{
  Byte[] myByte = System.Text.Encoding.Default.GetBytes(mystr);
  string str = "";
  if(myByte.Length < intLength)
  {
    str = mystr;
  }
  else
  {
    str = System.Text.Encoding.Default.GetString(myByte,0,intLength);
    switch(System.Text.Encoding.Default.GetByteCount(mystr) - intLength)
    {
      case 1:
        str += "..";
        break;
      case -1:
        str += "...";
        break;
      default:
        break;
    }
  }
  return(str);
}

yishan116 2005-11-03
  • 打赏
  • 举报
回复
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.demand").ToString().Length>15?DataBinder.Eval(Container, "DataItem.demand").ToString().SubString(0,15) + "...":DataBinder.Eval(Container, "DataItem.demand")%>'>
hchxxzx 2005-11-03
  • 打赏
  • 举报
回复
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.demand").ToString().Length>15?DataBinder.Eval(Container, "DataItem.demand").ToString().SubString(0,15) + "...":DataBinder.Eval(Container, "DataItem.demand")%>'>
ChengKing 2005-11-03
  • 打赏
  • 举报
回复
1.前台
<asp:TemplateColumn>
<ItemStyle HorizontalAlign="Left" Wrap="true"></ItemStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# GetDemand(DataBinder.Eval(Container, "DataItem.demand").ToString())%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
2.后台
protected string GetDemand(string strDemand)
{
string subDemand = strDemand;

//取前10个字串(如果需求长度小于十个,则取原串)

if(subDemand.Length > 15)
{
subDemand = subDemand.Substring(0,15) + "...";
}
string titleDemand = strDemand.Replace("<br>","\r\n").Replace(" "," ");
string HtmlTitle = "<A title=\"" + titleDemand + "\" >" + subDemand + "</A>";

return HtmlTitle;
}
jxufewbt 2005-11-03
  • 打赏
  • 举报
回复
Substring(0,15);

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧