MVC3/4 自定义HtmlHelper截断文本内容(截取)
在MVC目录下新建一个名为 Extersions 的文件夹,在该文件夹中新建一个截断文本类,取名为:CutOfTextExtersions
该类代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace System.Web.Mvc //修改为所属System.Web.Mvc命名空间 方便直接使用 { /// <summary> /// 截取字符串类 /// </summary> public static class CutOfTextExtersions { /// <summary> /// 截取字符串方法 /// </summary> /// <param name="helper"></param> /// <param name="str">字符串</param> /// <param name="len">长度</param> /// <param name="flag">是否显示。。。</param> /// <returns></returns> public static string GotTopic(this HtmlHelper helper, string str, int len, bool flag) { if (str != null && str != "") { string clearstr = str.RemoveHTML(); int count = 0; string strTemp = ""; for (int i = 0; i < clearstr.Length; i++) { if (Math.Abs(((int)(clearstr.Substring(i, 1).ToCharArray())[0])) > 255) count += 2; else count += 1; if (count <= len) strTemp += clearstr.Substring(i, 1); else { strTemp = strTemp + (flag == true ? "…" : ""); return str.Replace(clearstr, strTemp); } } return str.Replace(clearstr, strTemp).Replace(" ", "").Trim(); } else return ""; } public static string RemoveHTML(this string str) { try { if (str != "") { str = System.Text.RegularExpressions.Regex.Replace(str, "<[^>]*>", ""); str = str.Replace(" ", " "); return str; } else return ""; } catch { return ""; } } } }
在View中使用该类:
@Html.ActionLink(@Html.GotTopic(@item.NewsTitle, 40, true)) @Html.ActionLink(@Html.GotTopic(@item.NewsTitle, 40, false))
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。