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 = ;
string strTemp = "";
for (int i = ; i < clearstr.Length; i++)
{
if (Math.Abs(((int)(clearstr.Substring(i, ).ToCharArray())[])) > )
count += ;
else
count += ;
if (count <= len)
strTemp += clearstr.Substring(i, );
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("&nbsp;", " ");
return str;
}
else
return "";
}
catch
{
return "";
}
}
}
}

在View中使用该类:

@Html.ActionLink(@Html.GotTopic(@item.NewsTitle, 40, true))  @Html.ActionLink(@Html.GotTopic(@item.NewsTitle, 40, false))

上一篇:DFT、DTFT、DFS、FFT之间的关系


下一篇:【刷题记录】BZOJ-USACO