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

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

前言

    HtmlHelper方法为我们提供很多html标签,只需在页面调用就行了,但是微软并没有把所有的html标签都对应有了扩展方法,需要我们重新自定义HtmlHelper,来满足我们需要。

方法

 如下例代码:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace TestMvcHelper{    public static class HtmlExtensions    {        public static MvcHtmlString Submit(this HtmlHelper helper, string value)        {            var builder = new TagBuilder("input"); //使我们创建的标签名字设为input            builder.MergeAttribute("type", "submit");  //添加属性 type="submit"            builder.MergeAttribute("value", value);            return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));         }    }}

上面代码解读:

  • 在使用TagBuilder需要引入命名空间System.Web.Mvc。
  • Submit方法名是对应视图中调用的名称。    (如:@Html.Submit("提交") )
  • this HtmlHelper helper 将Submit方法添加到HtmlHelper中,value是传过来的提交按钮上的文字。
  • var builder = new TagBuilder("input");      设置标签名字设为input。
  • builder.MergeAttribute("type", "submit")   设置标签属性type="submit"。
  • builder.MergeAttribute("value", value);      设置标签提交按钮Value值。
  • TagRenderMode.SelfClosing                     表示用于呈现自结束标记(例如,<input />)的模式。
  • TagRenderMode是个枚举类,分别为   Normal(表示用于呈现正常文本的模式)、StartTag(表示用于呈现开始标记(例如,<tag>)的模式)、 EndTag(表示用于呈现结束标记(例如,</tag>)的模式)、 SelfClosing(表示用于呈现自结束标记(例如,<tag />)的模式)。
  • MvcHtmlString作为返回值是为了使返回值不被转义,比如"<"不会被转成"&lt"。

View中写入下面代码调用

@Html.Submit("提交")

生成效果预览

本篇到此结束。HtmlHelper包含的东西比较多,还有一些东西没有介绍,有时间我会继续学习,如果大家有兴趣我可以继续拓展。欢迎讨论。喜欢的话就推荐一下吧!

转载于:https://www.cnblogs.com/liujie2272/p/5344605.html

你可能感兴趣的文章
docker安装mysql
查看>>
GNOME 3.34 发布计划敲定,正式版将于9月11日推出
查看>>
使用Data Lake Analytics快速分析OSS上的日志文件
查看>>
《图解服务器端网络架构》笔记
查看>>
《叶问》第2期
查看>>
各业务Object概念(VO、 PO、DO、DTO、 BO、 QO、DAO、POJO)
查看>>
JavaScript对象继承方式
查看>>
Java 11中的新功能和API详解系列1
查看>>
网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?
查看>>
第三章 导数与微分
查看>>
WPF编游戏系列 之二 图标效果
查看>>
设计模式-里氏替换原则
查看>>
react-native调试
查看>>
基于Excel2013的合并计算
查看>>
Qt学习笔记(二)-常用快捷键
查看>>
RStudio v1.2.1335 发布,R 语言的集成开发环境
查看>>
NutzWk 5.2.2 发布,Java 微服务分布式开发框架
查看>>
mybatis 自动生成代码(mybatis generator)
查看>>
Confluence 6 当前使用的数据库状态
查看>>
dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
查看>>