HtmlHelper扩展

扩展 HtmlHelper类

public static class MyHtmlHelper
{
//扩展方法
//静态类,静态方法,this关键字
//调用方法<%=Html.MyLabel("这是我的扩展的方法") %>
//一般扩展方法所在的类要和扩展类型的命名空间搞成一致。比如这里扩展的是HtmlHelper,所以把namespace MVC4_lx.Models改成namespace System.Web.Mvc;就可以通过HtmlHelper来调用扩展的方法了
public static string MyLabel(this System.Web.Mvc.HtmlHelper helper, string lbtext) //通过this关键字扩展HtmlHelper的方法
{

return string.Format("<span>{0}</span>",lbtext);
}
//用HtmlHelper最大的好处就是统一配置,需要修改时,只需要修改这里一个地方,所有调用它的页面都会随着改过来。
//自己可以写很多html的代码,积累写到自己的HtmlHelper中,调用时候直接点出来。做其他项目用到相同时候直接把程序集引用过去调用直接完事!这就是一种面向对象的思路,可维护性和复用性高。
//<%= xxx%>这个把内容直接输出,不做任何计算
//<%: xxx%>这个先对输出的内容先编码化处理再输出,但遇到MvcHtmlString/HtmlString类型时候不进行编码化处理
}

时间: 2024-11-06 11:36:56

HtmlHelper扩展的相关文章

[转]ASP.NET MVC HtmlHelper扩展之Calendar日期时间选择

本文转自:http://blog.bossma.cn/asp_net_mvc/asp-net-mvc-htmlhelper-calendar-datetime-select/ 这里我们扩展HtmlHelper,就像它包含在ASP.NET MVC中一样,扩展方法使我们能为已有的类添加方法.这里使用了一个日期时间选择控件:My97DatePicker,需要添加到网站中,并在页面中引用. 先看看是怎么扩展的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

asp.net MVC添加HtmlHelper扩展示例和用法

一.先创建一个HtmlHelper的扩展类,代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Practice.Helper { public static class MvcHelper { public static string SayHello(this HtmlHelper htmlHelper,

net netcore2 netcore3 HtmlHelper扩展(checkboxlistfor)为例

.net中以扩展CheckBoxListFor为例 public static MvcHtmlString CheckBoxListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, IEnumerable<SelectListItem> items, object htmlAttrib

自定义HtmlHelper扩展方法

核心:通过TagBuilder类实现Html元素的创建 TagBuilder: 前台调用: @Html.Messger("tag","span-tag", @ViewData["messge"]) 最终生成: <span id="tag" class="span-tag">@ViewData["messge"]</span> 原文地址:https://www.cn

ASP.Net MVC开发基础学习笔记(2):HtmlHelper与扩展方法

一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归.所以抛弃之前的那种事件响应的模型,抛弃服务器端控件也理所当然. 但是,如果手写Html标签效率又比较低,可重用度比较低.这时,我们该怎样来提高效率呢?首先,经过上篇我们知道可以通过ViewData传递数据,于是我们可以写出以下的Html代码: 1 <input name="UserName&q

[asp.net mvc 奇淫巧技] 03 - 枚举特性扩展解决枚举命名问题和支持HtmlHelper

一.需求 我们在开发中经常会遇到一些枚举,而且这些枚举类型可能会在表单中的下拉中,或者单选按钮中会用到等. 这样用是没问题的,但是用过的人都知道一个问题,就是枚举的命名问题,当然有很多人枚举直接中文命名,我是不推荐这种命名规则,因为实在不够友好. 那有没有可以不用中文命名,而且可以显示中文的方法呢.答案是肯定的. 二.特性解决枚举命名问题 那就是用特性解决命名问题,这样的话既可以枚举用英文命名,显示又可以是中文的,岂不两全其美. /// <summary> /// 性别 /// </su

ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

一.一个功能强大的页面开发辅助类—HtmlHelper初步了解 1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归.所以抛弃之前的那种事件响应的模型,抛弃服务器端控件也理所当然. 但是,如果手写Html标签效率又比较低,可重用度比较低.这时,我们该怎样来提高效率呢?首先,经过上篇我们知道可以通过ViewData传递数据,于是我们可以写出以下的Html代码: <input name="UserName&quo

HtmlHelper的扩展分页方法

一.新建一个空MVC项目,命名为MVCAppPager 二.新建一个文件夹PageHelper,在文件夹下新建接口IPageList以及实现类PageList IPageList接口: public interface IPageList { /// <summary> /// 第几页 /// </summary> int PageIndex { get; set; } /// <summary> /// 每页记录数 /// </summary> int P

页面开发辅助类—HtmlHelper初步了解

1.1 有失必有得 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,毕竟微软的MVC就是传统的请求处理响应的回归.所以抛弃之前的那种事件响应的模型,抛弃服务器端控件也理所当然. 但是,如果手写Html标签效率又比较低,可重用度比较低.这时,我们该怎样来提高效率呢?首先,经过上篇我们知道可以通过ViewData传递数据,于是我们可以写出以下的Html代码: 1 <input name="UserName" type="text" value