asp.net 将指定字符串按指定长度进行截取并用其他字符串替换方法

       在前台页面上有时候只需要显示一定长度的字符就可以了,例如在前台页面显示标题,而标题有20个字符,

       显示在<div></div>会很长影响页面的整体美观,这时就用下面方法,只截取前12个字符剩下的用“...”代替。

       前台页面调用如下:

       <div><%# StringTruncat(Eval("Title").ToString(), 12, "...")%></div>

       方法如下:

        ///   <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 strTmp = oldStr.Substring(0, maxLength);
                if (string.IsNullOrEmpty(endWith))
                    return strTmp;
                else
                    return strTmp + endWith;
            }
            return oldStr;
        }

posted @ 2012-08-14 13:52  高品  阅读(1673)  评论(0编辑  收藏  举报