.NET截取指定长度汉字超出部分以"..."代替

 .NET截取指定长度汉字超出部分以"..."代替  ,要完成这个操作,有两种方法,一种是直接写在.aspx 文件下,另一种方法是写在.aspx.cs文件下。具体如下:


1. 在源代码(.aspx)中截取:

代码如下:

<ItemTemplate>
     <asp:Label ID="Label2" runat="server" Text='<%# Eval("title").ToString().Length>15?Eval("title").ToString().Substring(0,15)+"...":Eval("title")  %>'></asp:Label>
</ItemTemplate>

 注意三元运算符 “?:”,这里的三元运算符和C语言里的是一样的。以上代码的意思就是如果长度大于15,就截取前15个,并在末尾加上“...”,如果小于或等于15就全部取出。


2. 在 cs 文件中截取:

代码如下:

/// <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))
    {
        //throw new NullReferenceException(" 原字符串不能为空 ");
        return oldStr + endWith;
    }
    if (maxLength < 1)
    {
        throw new Exception(" 返回字符串的长度必须大于[0] ");
    }

    if (oldStr.Length > maxLength)
    {
        string tmpStr = oldStr.Substring(0, maxLength);
        if (string.IsNullOrEmpty(endWith))
        {
            return tmpStr;
        }
        else
        {
            return tmpStr + endWith;
        }
    }
    return oldStr;
}
在.aspx文件中用这个函数:

<ItemTemplate>
   <asp:Label ID="Label2" runat="server" Text='<%# StringTruncat(Eval("title").ToString(),15,"...")  %>'></asp:Label>
</ItemTemplate>






评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值