C#截取指定长度字符超出一部分以""代替,用于处理过长的标题
C#截取指定长度字符超出部分以"..."代替,用于处理过长的标题
简单的几行代码,实现了一个贴心的小功能,让用户在浏览你的网站时,感觉很舒服,这就是作为程序员最大的幸福!时刻谨记:全心全意为用户着想!
在做网站的时候经常遇到需要显示的东西太长,此时我们通常会将它们按一定的长度截取,然后在其后面加上省略号。当鼠标移到上面时,就会显示出完整的内容。就像下面这样:
要实现此效果,需要用到下面这个截取字符串的函数。相信不用我废话,大家一看注释就能明白是如何实现的。
/// <summary> /// 将指定字符串按指定长度进行截取并加上指定的后缀 /// </summary> /// <param name= "oldStr "> 需要截断的字符串 </param> /// <param name= "maxLength "> 字符串的最大长度 </param> /// <param name= "endWith "> 超过长度的后缀 </param> /// <returns> 如果超过长度,返回截断后的新字符串加上后缀,否则,返回原字符串 </returns> public static string StringTruncat(string oldStr, int maxLength, string endWith) { //判断原字符串是否为空 if (string.IsNullOrEmpty(oldStr)) return oldStr + endWith; //返回字符串的长度必须大于1 if (maxLength < 1) throw new Exception("返回的字符串长度必须大于[0] "); //判断原字符串是否大于最大长度 if (oldStr.Length > maxLength) { //截取原字符串 string strTmp = oldStr.Substring(0, maxLength); //判断后缀是否为空 if (string.IsNullOrEmpty(endWith)) return strTmp; else return strTmp + endWith; } return oldStr; }
光有这个函数还不够,需要在页面的代码设计中加入一段HTML代码,用来调用此函数,并实现在鼠标指向它是显示其完整内容。
<a href="http://www.cnbeta.com/articles/201461.htm" title='MSDN和TechNet订阅者明天可下载Windows8最终版'><%#StringTruncat("MSDN和TechNet订阅者明天可下载Windows8最终版", 18, "...")%> </a>
简单的几行代码,实现了一个贴心的小功能,让用户在浏览你的网站时,感觉很舒服,这就是作为程序员最大的幸福!时刻谨记:全心全意为用户着想!
- 10楼xiaoxian8023昨天 23:57
- 把源码中的span标签去掉行吗,干扰视线
- Re: liushuijinger昨天 08:27
- 回复xiaoxian8023n哦了
- 9楼lfsfxy93天前 21:27
- 其实,你还可以加一个东西,当鼠标移到标题上,可以把标题显示给用户。n而非用户想看标题,一定要点进文章 ,才可见标题。
- Re: l116327前天 22:04
- 回复lfsfxy9n我不是加上了吗???
- 8楼lfmilaoshi3天前 11:20
- 细节决定成败。。。米老师
- Re: liushuijinger3天前 21:27
- 回复lfmilaoshin恩
- 7楼lantingxv_jing4天前 11:35
- 全心全意为用户着想n 人性化 设计理念。。
- Re: liushuijinger4天前 19:50
- 回复lantingxv_jingn为用户着想是程序员的天职
- Re: lantingxv_jing3天前 21:43
- 回复liushuijingern狗狗保卫家园也是您的天职吧??
- Re: liushuijinger3天前 11:06
- 回复lantingxv_jingn别着急,一会揍你
- 6楼lbq6136134天前 11:04
- 明了啊!顶!
- Re: liushuijinger4天前 11:23
- 回复lbq613613n[e10]
- 5楼xiaoxian80234天前 10:35
- 敢不敢把源码中的span标签去掉!干扰视线
- 4楼wangyongxia9214天前 09:52
- 师傅,加油!
- Re: liushuijinger4天前 10:23
- 回复wangyongxia921n[e10]
- 3楼wangyuetingtao4天前 08:09
- 挺好的啊,为什么这么多人踩呢……
- Re: liushuijinger4天前 08:27
- 回复wangyuetingtaon恶意踩博客呗
- 2楼gxq7417186184天前 23:02
- 全心全意为用户着想,不过我看不懂师哥写的哦!
- Re: liushuijinger4天前 23:02
- 回复gxq741718618n别着急,马上就能看懂了
- 1楼StubbornPotatoes4天前 22:15
- 截取字符串是个大学问啊。
- Re: l1163274天前 22:33
- 回复StubbornPotatoesn是啊