做的新闻发布系统中需要用到这样一个功能,新闻标题往往会过长,但我们只想显示固定字数,超出部分以其他内容如“…”代替,效果图及实现如下:
一、效果图:
二、后台程序代码:
/// <summary>
/// 将指定的字符串按指定的长度剪切
/// </summary>
/// <param name="oldStr">需要剪切的字符串</param>
/// <param name="maxLength">需要字符串的最大的长度</param>
/// <param name="endWith">超过长度的后缀</param>
/// <returns>如果超过长度,返回截取的字符串加上后缀;否则返回原字符串</returns>
public static string StringTruncate(string oldStr, int maxLength, string endWith)
{
if (string.IsNullOrEmpty(oldStr))
return oldStr + endWith;
if (maxLength < 1)
throw new Exception("返回的字符串长度必须大于[0]");
if (oldStr.Length > maxLength)
{
string strTmp = oldStr.Substring(0, maxLength);
if (string.IsNullOrEmpty(endWith))
return oldStr;
else
return strTmp + endWith;
}
return oldStr;
}
三、前台界面代码:
<asp:TemplateField HeaderText="新闻标题">
<ItemTemplate>
<a href="newscontent.aspx?newsid=<%#Eval("id") %>" target="_blank" <%# StringTruncate( Eval ("title").ToString (),18,"...") %></a>
</ItemTemplate>
</asp:TemplateField>
四、改进:
我们发现一个问题,标题内容显示不全,影响我们对新闻的理解。可以采取这样一种方式,当鼠标指标移向标题时,但显示完整的标题。只要一个title属性,在属性值里面绑定新闻标题:
五、最终效果:
内容比较简单,以后网页开发中可能会用的上,此篇博客算是一个知识点积累吧。