在我们的项目中经常会因为一个新闻的标题过长而不想全部显示。下面提供一个截断文本的类。
在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 "";
}
}
}
}
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))
相关推荐
MVC_HtmlHelper是*** MVC框架中的一个非常实用的组件,它的主要作用是在视图中生成HTML控件。HtmlHelper类通过提供一系列扩展方法来简化HTML标记的创建,这些扩展方法直接在视图文件(如.cshtml)中使用。为了更好地...
本文将深入探讨如何在MVC3中处理反复提交,并全面介绍`HtmlHelper`的用法及其拓展方法。 一、处理反复提交 在ASP.NET MVC中,一种常见的处理反复提交的方法是使用"POST-Redirect-GET"(PRG)模式。当用户成功提交...
关于"日历控件",在ASP.NET MVC中,我们可以利用jQuery UI库中的日期选择器或者自定义一个HTML Helper来实现。jQuery UI的日期选择器是一个流行的、用户友好的日历插件,它可以轻松地与ASP.NET MVC结合使用。要使用...
3. **自定义HTML Helper** - 扩展HTML Helper主要是为了满足特定需求,创建新的辅助方法。这通常通过创建静态类并定义一个接受`HtmlHelper`实例的方法来完成。 - 使用`HtmlHelper<TModel>.Extension`类,可以创建...
ASP.NET MVC 分页 HtmlHelper控件2010贺岁版 by Herman.格式分为四种: .1:上一页/下一页 模式; .2:首页/尾页/上一页/下一页 模式; .3:上一页 1 2 3 4 5 下一页 模式; .4:总共X条, 当前1/X页,首页 上一页 1 2 3 4 5 ...
### 在MVC3中给HtmlHelper添加扩展(Extension)来消除魔鬼代码 #### 背景与需求 在ASP.NET MVC3中进行Web应用开发时,开发者常常会遇到需要在JavaScript代码中引用HTML元素的情况。这通常涉及到通过元素的名称或ID...
HTMLHelper类是ASP.NET MVC框架的一部分,它提供了一系列的方法,使得程序员可以避免手动编写HTML标记,提高了代码的可读性和维护性。 在ASP.NET MVC中,HTMLHelper类位于`System.Web.Mvc`命名空间下。它通过视图...
### ASP.NET MVC中的HtmlHelper详解 #### 一、引言 在ASP.NET MVC框架中,开发者经常需要构建具有数据绑定功能的HTML元素。为了解决这一需求,ASP.NET MVC引入了`HtmlHelper`类,该类提供了一系列方便的方法来简化...
### ASP.NET MVC HtmlHelper用法大全 #### 一、引言 在ASP.NET MVC框架中,`HtmlHelper`提供了一系列方便的方法来简化视图层的开发工作,它可以帮助开发者更轻松地生成HTML标记,减少硬编码,提升代码的可读性和可...
1、 将sd8686.bin和sd8686_helper.bin拷贝到linux-2.6.35/firmware下 2、 平台代码修改,修改arch/arm/mach-s3c2410/mach-smdk2410.c 3、 配置内核 4、 编译内核
IPHelper5.2 - 增加了修改计算机名称及执行自定义命令等功能。修正了部分bug,增进界面友好性。(2008/12) IPHelper4.6 - 增加了“生成快捷方式”功能,大大提高了部分常用配置的切换速度。软件可以 最小化到任务...
3. **自定义Gridview控件类**:创建一个新的控件类,继承自ASP.NET的`WebControl`或`HtmlHelper`类,然后添加我们需要的功能,如分页、排序、编辑和删除。在这个类中,我们可以定义方法来绑定数据,以及处理用户交互...
5. **Razor模板的应用场景**:如创建动态HTML、生成电子邮件内容、自定义视图输出等。 6. **RazorTemplating.App.Console**:分析这个示例应用可能的功能,如何通过命令行接口调用Razor模板来处理文本,以及可能的...
3. **封装复杂逻辑**:自定义控件不仅可以生成简单的HTML,还可以处理更复杂的逻辑,如数据绑定、验证或AJAX交互。你可以通过继承`HtmlHelper`或创建一个包含业务逻辑的辅助类来实现这一点。 4. **利用视图模版**:...
**标题解析:** "MVC3.rar_MVC3 linq_linq _mvc3" 这个标题提到了三个关键概念,分别是MVC3、linq和linq_mvc3。这表明压缩包中的内容可能涉及ASP.NET MVC 3框架、Linq(Language Integrated Query)语言集成查询以及...
内含 整合架包android-PullToRefresh-Library和实例代码MVCHelper_Demo。 github地址:https://github.com/LuckyJayce/MVCHelper 实现下拉刷新,滚动底部自动加载更多,分页加载,自动切换显示网络失败布局,暂无...
MVC 3 – Razor View Engine By Jon Galloway|April 4, 2011 In this video you will learn the basics of the new Razor view engine included in ASP.NET MVC 3. MVC 3 – Razor Layouts By Jon Galloway|April 4...
ASP.NET MVC 中HtmlHelper方法为我们提供很多html标签,只需在页面调用就行了,但是微软并没有把所有的html标签都对应有了扩展方法,需要我们自定义HtmlHelper,来满足我们需要。
ASP.NET MVC4 和 MVC5 是微软开发的两种用于构建Web应用程序的框架,它们基于Model-View-Controller(模型-视图-控制器)设计模式。这个框架允许开发者将业务逻辑、数据处理和用户界面分离,提高了代码的可读性和可...
在MVC3中,开发者可以创建自定义控制器类,继承自`System.Web.Mvc.Controller`。控制器方法(Action)接收HTTP请求,处理逻辑,然后可以返回视图结果或者重定向到其他操作。 **四、路由(Routing)** ASP.NET MVC3...