关于显示字数的问题!

kent55782 2008-05-14 10:11:02
我在网站的新闻区域
做了一个DATALIST绑定
在ItemTemplate中我放了一个
LinkButton 绑定数据用来显示新闻的名称

目前美工做的空间宽度我估计可以写25个字。
但是防止意外能否让如果字数超过25个字的时候
最后自动变为...
这样就不会因数据过长 是页面变形了。
请有经验的朋友指教下,谢谢
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kent55782 2008-05-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gaofenfei 的回复:]
你可以把要使用的sql语句写成类似: select substring(字段名,0,26)+'...' from 表
[/Quote]

不能用SQL啊 不然所有名字出来都是...结尾
我是想让 超过HTML控制的长度的时候 再出现...表示长度太长
gaofenfei 2008-05-14
  • 打赏
  • 举报
回复
刚才我写那个有点问题:

修改如下:

你可以把要使用的sql语句写成类似:select case when len(字段名)<26 then 字段名 else substring(字段名,0,26)+'...' end as 字段名 from 表


这样可以显示前25个字。

例子:

select * from test

select case when len(Name)<6 then Name else substring(Name,0,6)+'...' end as Name from test


执行结果:

1 a
2 b
3 ccccccccccccccccccc

1 a
2 b
3 ccccc...



selad 2008-05-14
  • 打赏
  • 举报
回复
/// <summary>
/// 得到制定长度字符串中文算2个字符,如果截断后面自动加"..."。
/// </summary>
/// <param name="stringToSub">源串</param>
/// <param name="length">长度</param>
/// <returns>返回串</returns>
public static string Get_Str(string stringToSub, int length)
{
Regex regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled);
char[] stringChar = stringToSub.ToCharArray();
StringBuilder sb = new StringBuilder();
int nLength = 0;

for (int i = 0; i < stringChar.Length; i++)
{
if (regex.IsMatch((stringChar[i]).ToString()))
{
sb.Append(stringChar[i]);
nLength += 2;
}
else
{
sb.Append(stringChar[i]);
nLength = nLength + 1;
}

if (nLength >= length)
break;
}
if (sb.ToString() != stringToSub)
sb.Append("...");
return sb.ToString();
}

拿去用吧 直接复制 就可以用的
给分哦
gaofenfei 2008-05-14
  • 打赏
  • 举报
回复
你可以把要使用的sql语句写成类似: select substring(字段名,0,26)+'...' from 表
wzx516 2008-05-14
  • 打赏
  • 举报
回复
先获取LinkButton的值,调用下面这个函数
public string SubStr(string sString, int nLeng)
{
if (sString.Length <= nLeng)
{
return sString;
}
string sNewStr = sString.Substring(0, nLeng);
sNewStr = sNewStr + "...";
return sNewStr;
}

62,046

社区成员

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

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

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

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