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("&nbsp;", " ");
return str;
}
else
return "";
}
catch
{
return "";
}
}
}
}

在View中使用该类:

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

MVC3/4 自定义HtmlHelper截断文本内容(截取),布布扣,bubuko.com

时间: 2024-10-08 09:48:13

MVC3/4 自定义HtmlHelper截断文本内容(截取)的相关文章

Android 自定义TextView实现文本内容自动调整字体大小以适应TextView的大小

最近做通讯录小屏机 联系人姓名显示--长度超过边界字体变小 /**   * 自定义TextView,文本内容自动调整字体大小以适应TextView的大小   * @author yzp   */   public class AutoFitTextView extends TextView {       private Paint mTextPaint;       private float mTextSize;          public AutoFitTextView(Context

jQuery获取自动截取过长的文本内容,显示成省略号

table中如果td的内容过多,则会把td撑的很宽, 显得不美观. 如果能让td既美观.也能看到完整的效果.. 我们则需要,在生成td之前,给指定样式.. 这里采用jQuery来实现. //页面加载之后,设置.样式. jQuery(function(){ //使用id选择器;例如:tab对象->tr->td对象. $("#high_light tr td").each(function(i){ //获取td当前对象的文本,如果长度大于25; if($(this).text(

CSS控制长文本内容显示(截取的地方用省略号代替)

自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,下面介绍的是CSS如何实现处理的方法. 现实中经常出现一些内容比较长的文本,为了使整体布局美观,需要将文本内容控制在一行显示,并且截取一定的长度,截取的地方用省略号代替.虽然用动态语言可以对其控制,但是这样做是不利于搜索引擎收录的,活用CSS可以巧妙地解决这个问题,请看下面的代码:代码一:用于非表格LI或span等都可以 www.169it.com .text-overflow { display:block;/*内

js实现动态给一个div添加文本内容与简单的日历

js实现动态给一个div添加文本内容(即在文本框中输入一段文字,点击设置文字按钮实现将文本框中的文字添加到div中) <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <style

shell快速排序、去重文本内容

逛ChinaUnix论坛,常常可看到到日经帖,怎么快速排序一个文本内容,或者计算某行出现次数.这些问 题大部分都可以通过简单的sort.uniq命令来解决. 首先准备两个文本 cat file1: Boys in Company C       :HK     :192    :2192 Alien                   :HK     :119    :1982 The Hill                :KL     :63     :2972 Aliens      

Android Studio EditText点击图标清除文本内容

这篇文章是继自定义EditText样式之后的功能强化,对于实际应用项目有很大的参考意见,感兴趣的朋友可以移步上一篇,"Android Studion自定义EditText样式".具体清除EditText文本内容功能代码如下: package com.liheng; import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawable; import

在PowerPoint中自定义可输入文本的占位符

日常生活中,当我们设计多媒体课件时,默认的版式其实已经够用了.但是,很多时候,我们需要更加个性一点,所以,我们需要自定义很多东西.本文介绍在PowerPoint中自定义可输入文本的占位符. 一.占位符的概念 占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号. 二.PowerPoint(简称:PPT)简介 ppt,是演示文稿软件.演示文稿中的每一页就叫幻灯片,每张幻灯片都是演示文稿中既相互独立又相互联系的内容.我们这里要做的就是,给每一张幻灯片都加上占位符. 三.在幻灯片母版中加入占位

折叠多余文本内容,点击查看更多

command:设定规定的行数,当文本内容超过时,折叠并有一个“查看更多”的按钮 step1:编写html...... <p statue="0" class="text close_text"> //status是自定义的属性,“0”是false,“1”为True texttexttextvvshjhhsbcnxgfggggkshjahcjbkjciwhiuheohbcjkbcnzlkxkjidjoieklkxm.,cxzmkcowdjijdpoweo

在 ASP.NET MVC 中创建自定义 HtmlHelper

在ASP.NET MVC应用程序的开发中,我们常碰到类似Html.Label或Html.TextBox这样的代码,它将在网页上产生一个label或input标记.这些HtmlHelper的扩展方法有些像WebForm中的控件,只需传入一些参数即可生成相应的HTML代码.本文将介绍创建HtmlHelper的方法. Html.Textbox方法的返回值是MvcHtmlString,它生成了一些HTML代码.创建HtmlHelper,就像在生成HTML代码.下面以一个带有简要描述功能的链接HtmlHe