在我们的项目中经常会因为一个新闻的标题过长而不想全部显示。下面提供一个截断文本的类。
在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))
相关推荐
- **使用自定义HTML Helper截断文本**: - 创建自定义HTML Helper方法来处理文本截断。 #### 6. 使用Data Annotations进行模型验证 - **添加验证到专辑表单**: - 在模型类中添加Data Annotations属性来设置验证...
- 使用自定义HTML Helper截断文本。 #### 七、使用DataAnnotations进行模型验证 - **添加验证规则**:利用DataAnnotations特性为模型类中的属性添加验证逻辑,确保输入数据的有效性。 - 测试客户端验证功能:在...
- **自定义HTML Helper**:为特定需求创建自定义的HTML Helper,比如截断文本长度。 #### 数据验证 - **添加数据注解**:通过在模型类中添加数据注解来实现服务器端的数据验证。 - **客户端验证**:通过...
##### 使用自定义 HTML Helper 截断文本 在某些情况下,可能需要对显示的文本进行截断处理,可以创建一个自定义的 HTML Helper 方法来实现这一功能。 ##### 创建 Edit 视图 为了允许用户编辑现有的数据项,需要...
嵌入式八股文面试题库资料知识宝典-华为的面试试题.zip
训练导控系统设计.pdf
嵌入式八股文面试题库资料知识宝典-网络编程.zip
人脸转正GAN模型的高效压缩.pdf
少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip
少儿编程scratch项目源代码文件案例素材-鸡蛋.zip
嵌入式系统_USB设备枚举与HID通信_CH559单片机USB主机键盘鼠标复合设备控制_基于CH559单片机的USB主机模式设备枚举与键盘鼠标数据收发系统支持复合设备识别与HID
嵌入式八股文面试题库资料知识宝典-linux常见面试题.zip
面向智慧工地的压力机在线数据的预警应用开发.pdf
基于Unity3D的鱼类运动行为可视化研究.pdf
少儿编程scratch项目源代码文件案例素材-霍格沃茨魔法学校.zip
少儿编程scratch项目源代码文件案例素材-金币冲刺.zip
内容概要:本文深入探讨了HarmonyOS编译构建子系统的作用及其技术细节。作为鸿蒙操作系统背后的关键技术之一,编译构建子系统通过GN和Ninja工具实现了高效的源代码到机器代码的转换,确保了系统的稳定性和性能优化。该系统不仅支持多系统版本构建、芯片厂商定制,还具备强大的调试与维护能力。其高效编译速度、灵活性和可扩展性使其在华为设备和其他智能终端中发挥了重要作用。文章还比较了HarmonyOS编译构建子系统与安卓和iOS编译系统的异同,并展望了其未来的发展趋势和技术演进方向。; 适合人群:对操作系统底层技术感兴趣的开发者、工程师和技术爱好者。; 使用场景及目标:①了解HarmonyOS编译构建子系统的基本概念和工作原理;②掌握其在不同设备上的应用和优化策略;③对比HarmonyOS与安卓、iOS编译系统的差异;④探索其未来发展方向和技术演进路径。; 其他说明:本文详细介绍了HarmonyOS编译构建子系统的架构设计、核心功能和实际应用案例,强调了其在万物互联时代的重要性和潜力。阅读时建议重点关注编译构建子系统的独特优势及其对鸿蒙生态系统的深远影响。
嵌入式八股文面试题库资料知识宝典-奇虎360 2015校园招聘C++研发工程师笔试题.zip
嵌入式八股文面试题库资料知识宝典-腾讯2014校园招聘C语言笔试题(附答案).zip
双种群变异策略改进RWCE算法优化换热网络.pdf