`
t641339564
  • 浏览: 28351 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

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, 40true)) 

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

分享到:
评论

相关推荐

    MVC Music Store - Tutorial - v3.0

    - **使用自定义HTML Helper截断文本**: - 创建自定义HTML Helper方法来处理文本截断。 #### 6. 使用Data Annotations进行模型验证 - **添加验证到专辑表单**: - 在模型类中添加Data Annotations属性来设置验证...

    MVC3.0实例教程(英文版)

    - 使用自定义HTML Helper截断文本。 #### 七、使用DataAnnotations进行模型验证 - **添加验证规则**:利用DataAnnotations特性为模型类中的属性添加验证逻辑,确保输入数据的有效性。 - 测试客户端验证功能:在...

    ASP.net MVC MusicStore3.0 PDF

    - **自定义HTML Helper**:为特定需求创建自定义的HTML Helper,比如截断文本长度。 #### 数据验证 - **添加数据注解**:通过在模型类中添加数据注解来实现服务器端的数据验证。 - **客户端验证**:通过...

    MVC Music Store 开发详细过程

    ##### 使用自定义 HTML Helper 截断文本 在某些情况下,可能需要对显示的文本进行截断处理,可以创建一个自定义的 HTML Helper 方法来实现这一功能。 ##### 创建 Edit 视图 为了允许用户编辑现有的数据项,需要...

    【多智能体控制】基于matlab事件触发多智能体编队控制(含间歇控制)【含Matlab源码 13223期】.zip

    Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    《网页制作基础教程(Dreamweaver-CS3)》第11章-嵌入表单元素.ppt

    《网页制作基础教程(Dreamweaver-CS3)》第11章-嵌入表单元素.ppt

    V1_3_example.ipynb

    V1_3_example.ipynb

    《计算机应用基础项目教程》项目四-电子表格软件Excel2010的使用.pptx

    《计算机应用基础项目教程》项目四-电子表格软件Excel2010的使用.pptx

    《计算机系统结构》第4章-指令级并行.ppt

    《计算机系统结构》第4章-指令级并行.ppt

    西门子1200博途三部十层电梯控制系统及WinCC RT Pro界面设计详解

    内容概要:本文详细介绍了基于西门子S7-1200 PLC和WinCC RT Pro的三部十层电梯联控系统的设计与实现。主要内容涵盖硬件配置、核心算法如电梯间协同算法、方向判断函数、状态机设计、呼叫调度算法以及WinCC画面设计中的动画效果和平滑移动实现方法。文中还讨论了常见的调试问题及其解决方案,如方向锁死、编码器干扰等。此外,强调了状态机在电梯控制中的重要性,并提供了具体的代码示例来解释各个功能模块的工作原理。 适合人群:自动化工程师、PLC程序员、HMI开发者、工业控制系统设计师。 使用场景及目标:适用于希望深入了解电梯控制系统设计原理和技术实现的专业人士。目标是帮助读者掌握电梯联控系统的编程技巧,提高对工业控制项目的理解和应用能力。 其他说明:文章不仅提供详细的代码片段,还分享了许多实践经验,有助于读者更好地理解和应对实际工程项目中的挑战。

    飞猫智联u20一键打开adb并安装

    飞猫智联u20一键打开adb并安装

    DeepSeek:智能时代的全面到来和人机协作的新常态.pdf

    DeepSeek:智能时代的全面到来和人机协作的新常态.pdf

    电机控制领域PMSM无传感HFI高频谐波注入与滑模观测器仿真模型解析(基于28035)

    内容概要:本文深入探讨了永磁同步电机(PMSM)无传感器控制技术中的高频谐波注入(HFI)方案及其滑模观测器仿真模型。主要介绍了HFI的工作原理,即通过向电机定子绕组注入高频信号并检测其响应来估算转子位置和速度。文中提供了详细的代码实现,包括高频信号生成、电流检测与处理、滑模观测器核心算法等。此外,还分享了实际工程项目中的调试经验和常见问题解决方案,如参数选择、硬件配置、滤波处理等。 适合人群:从事电机控制系统开发的技术人员,尤其是对PMSM无传感器控制感兴趣的工程师。 使用场景及目标:适用于需要提高PMSM电机控制性能的应用场合,如工业自动化设备、伺服系统等。目标是在低速条件下实现精确的转子位置和速度估算,从而提升系统的整体性能。 其他说明:文章不仅提供了理论和技术细节,还结合了大量实践经验,帮助读者更好地理解和应用HFI技术。同时强调了实际工程中需要注意的各种细节,如参数整定、硬件配置、滤波处理等,确保方案的可靠性和稳定性。

    OAI-10th-Anniversary-Workshop

    5G 6G NR-NTN A Hardware perspective && OAI-10th-Anniversary-Workshop-Qualcomm-2.pdf An SMEs Journey Towards 5G6G NTN Disruptive Technologies Lasting Software--OAI-10th-Anniversary-Workshop-Lasting-Software.pdf Deploying Private 5G with the Open Air Interface- OAI-10th-Anniversary-Workshop-Firecell-.pdf End-to-End Open-Source 5G and O-RAN Prototyping in ARA for Low-Latency Agriculture Applications OAI-10th-Anniversary-Workshop-Iowa-State-University.pdf OAI 5G NR NTN – PHY and MAC Layer Contributions 20240913_Fraunhofer_IIS_OAI_NTN_reduced.pdf Open Source in Telecoms Driving 5G innovatio--OAI-10th-Anniversary-Workshop-Canonical.pdf OpenAirInterface Recent Developments & Roadmap OAI-10th-Anniversary-Workshop-Florian-Kaltenberger.pdf The road of artificial intelligence towards the 6G

    三菱FX2N PLC编码器脉冲数测量距离的技术解析及应用

    内容概要:本文详细介绍了如何使用三菱FX2N系列PLC通过编码器脉冲数计算输出距离的方法。首先,文章阐述了核心思路,即通过采集编码器产生的脉冲数,结合预先设定的脉冲数和输出长度参数,经过一系列浮点数运算得出输出距离。文中展示了详细的代码实现步骤,包括初始化部分、脉冲采集部分、浮点数运算部分和结果处理部分。此外,还讨论了一些常见的调试技巧和注意事项,如数据溢出处理、双编码器校验、方向信号处理等。 适合人群:从事自动化控制领域的工程师和技术人员,尤其是对PLC编程有一定基础的人群。 使用场景及目标:适用于需要精确测量距离的工业控制系统,如输送带系统、机械臂定位等。主要目标是帮助工程师掌握如何利用PLC和编码器实现高精度的距离测量。 其他说明:文章提供了丰富的代码示例和调试建议,有助于读者在实际项目中灵活运用相关技术和解决常见问题。同时强调了浮点运算在提高测量精度方面的优势及其潜在挑战。

    无刷直流电机BLDC转速电流双闭环调速系统的Matlab Simulink仿真研究

    内容概要:本文详细介绍了如何使用Matlab Simulink搭建无刷直流电机(BLDC)的转速电流双闭环调速系统。首先阐述了系统的基本架构,即外层转速环和内层电流环的作用及其相互关系。接着逐步讲解了各个模块的具体实现方法,包括电机模型参数设置、PI控制器参数配置、PWM信号生成、坐标变换等关键技术。通过仿真结果分析,展示了转速和电流响应曲线,探讨了参数调整对系统性能的影响。最终实现了对电机转速的精确控制,并提供了优化建议。 适合人群:从事电机控制领域的工程师和技术人员,尤其是有一定Matlab/Simulink基础的研究人员。 使用场景及目标:适用于希望深入了解BLDC电机控制原理及仿真的技术人员。目标是在理论基础上通过仿真工具掌握双闭环调速系统的构建与优化方法。 其他说明:文中不仅提供了详细的建模步骤,还分享了许多实用的经验技巧,如PI参数选择、PWM生成方式的选择、死区时间设置等,有助于提高实际应用中的系统性能。

    网课搜题 小猿题库多接口微信小程序源码 自带流量主.zip

    多接口小猿题库等综合网课搜题微信小程序源码带流量主,网课搜题小程序, 可以开通流量主赚钱 搭建教程 1, 微信公众平台注册自己的小程序 2, 下载微信开发者工具和小程序的源码 3, 上传代码到自己的小程序

    weixin287火锅店点餐系统的设计与实现+ssm(文档+源码)_kaic

    weixin287火锅店点餐系统的设计与实现+ssm(文档+源码)_kaic

    DotCom Secrets:在线增长策略揭秘

    《DotCom Secrets》是拉斯洛·布劳恩所著的一本关于如何使用在线营销策略来增长公司业务的书籍。本书揭示了在线营销巫师兄弟会不愿公开的秘密,强调了直接响应营销的重要性,并提供了构建和优化营销漏斗的系统方法。书中不仅介绍了如何通过各种在线渠道获取流量、提高转化率和销售,还提供了如何发现目标客户、构建价值阶梯以及如何利用“肥皂剧序列”等策略。拉斯洛·布劳恩通过本书,旨在帮助企业家在充满变数的互联网世界中找到坚实的营销基础。

    基于单片机的智能秤设计(程序+电路+仿真)(51+1602+HX711+10KG+BZ+KEY16)#0415

    包括:源程序工程文件、Proteus仿真工程文件、电路原理图文件、配套技术手册、论文资料等 1、采用51/52单片机(通用)作为主控芯片; 2、采用压力传感器+HX711模块检测压力; 3、可通过按键设置物品单价; 4、采用LCD1602对重量/单价/总价进行显示; 5、当物品超出传感器量程时,蜂鸣器进行过载报警。

Global site tag (gtag.js) - Google Analytics