您的位置:首页 > 其它

牛腩新闻发布系统之技术篇(三)——汉字超出指定长度部分以"..."代替

2013-12-26 21:44 357 查看
做的新闻发布系统中需要用到这样一个功能,新闻标题往往会过长,但我们只想显示固定字数,超出部分以其他内容如“…”代替,效果图及实现如下:

一、效果图:



二、后台程序代码:

/// <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属性,在属性值里面绑定新闻标题:



五、最终效果:



内容比较简单,以后网页开发中可能会用的上,此篇博客算是一个知识点积累吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: