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

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


一、效果图:


二、后台程序代码:

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


五、最终效果:



    内容比较简单,以后网页开发中可能会用的上,此篇博客算是一个知识点积累吧。

评论 51
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值