博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC 自定义HtmlHelper
阅读量:6852 次
发布时间:2019-06-26

本文共 1714 字,大约阅读时间需要 5 分钟。

MVC中为我们提供了一些方便生成html标签的方法 (HtmlHelper)

例如:

@Html.ActionLink("将你的徽标放置在此处", "Index", "Home")

这是一个生成a标签  超链接的htmlHelper , 那看下他生成的html源文件

是不不比写html标签简单多了。。。 呵呵 但是不幸的是微软并没有把所有的html标签都对应有help方法 比如 img 标签

我们今天的任务就是自定义一个HtmlHelper 实现img标签的功能

首先,新建一个static(静态)类 注意必须是public的 ,然后再写一个static方法 注意此方法的方法名就是你Html. 出来的名  比如@Html.ActionLink 其中ActionLink就是方法名。

看下代码:

1  public static class MyHtmlHelper 2     { 3         ///  4         /// 自定义一个@html.Image() 5         ///  6         ///  7         /// src属性 8         /// alt属性 9         /// 
10 public static MvcHtmlString Image(this HtmlHelper helper, string src, string alt)11 {12 var builder = new TagBuilder("img");13 builder.MergeAttribute("src", src);14 builder.MergeAttribute("alt", alt);15 builder.ToString(TagRenderMode.SelfClosing);16 return MvcHtmlString.Create(builder.ToString());17 }18 }

注意:

1. 方法中的第一个参数必须为this HtmlHelper, 然后其后是此标签需要的参数。
2. 方法的返回值为MvcHtmlString 如果您把返回值定义为String的话 那么返回的字符窜会被转义,为了防止转义所以将其的返回值定义为MvcHtmlString
3. 新建一个TagBuilder类 指定要生成的html标签的名,以及其属性。

View视图中的代码:

1. 引用MyHtmlHelper的命名空间

第一种方法 直接在对应的cshtml文件中写下面代码

@using MvcAppAndEF_Test1.Common

第二种方法 打开Views文件夹中的web.config 文件会看到如下代码

1 
2
3
4
5
6
7
8
9

将命名空间添加到这也行

下面看下自定义HtmlHelper的使用方法

abc
@Html.Image("abc.jpg","abc")

Result: 浏览器查看源 看下html生成的源代码

abc
abc

怎么样 是不是很简单呢?

转载于:https://www.cnblogs.com/wlitsoft/archive/2012/11/30/mvc-custom-htmlhelper.html

你可能感兴趣的文章
php实现 坐标移动
查看>>
前端之HTML
查看>>
The Cats' Feeding Spots
查看>>
Python 进阶_OOP 面向对象编程_self 的实例绑定
查看>>
jquery内核学习(5)--对象的遍历
查看>>
在Android迷你广告上添加浮动的关闭按钮
查看>>
2dcontext
查看>>
企业级大数据处理方案-01
查看>>
日期和字符串相互转换的方法
查看>>
ASP.NET Localization
查看>>
ssm框架,出现xxx不能加载,或者bean不能加载时的解决方案之一
查看>>
types.h头文件学习
查看>>
【递推】hdu5927 Auxiliary Set
查看>>
计算机的组成与操作系统
查看>>
包冲突getJspApplicationContext
查看>>
Webrtc入门——基于阿里云ubuntu 最新webrtc Android平台编译详细说明
查看>>
prepareCall方法执行存储过程
查看>>
深入学习jQuery节点关系
查看>>
在浏览器中输入网址后的流程
查看>>
鼠标移动效果
查看>>