先看示例代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing; namespace MvcApplicationWeb
{
public static class HtmlExtensions
{
public static MvcHtmlString TestHtml(this HtmlHelper htmlHelper)
{
return MvcHtmlString.Create("<div style='font-size:18px;'>MyTestHtmlHelper</div>");
} public static string TestHtml(this HtmlHelper htmlHelper, string value)
{
return String.Format("<div>{0}</div>", value);
} public static MvcHtmlString JSHtml(this HtmlHelper htmlHelper)
{
return MvcHtmlString.Create("<script type=\"text/javascript\">alert('JSHtmlTest');</script>");
} public static string Label(this HtmlHelper helper, int target, string text)
{
TagBuilder tagBuilder = new TagBuilder("label")
{
InnerHtml = target.ToString()
};
tagBuilder.MergeAttribute("for", text);
return tagBuilder.ToString(TagRenderMode.Normal);
}
}
}

上面是扩展类的代码,类名要写成XXExtensions,不然不能在前台使用的。

上面自定义了三个控件,如果返回是MvcHtmlString 将会在页面已HTML形式显示,如果返回是string就会已字符显示

同时可以用TagBuilder来构建HTML

前台代码如下:

 @using MvcApplicationWeb;
@{
ViewBag.Title = "主页";
}
@section featured {
<section class="featured">
<div class="content-wrapper">
<hgroup class="title">
<h1>@ViewBag.Title.</h1>
<h2>@ViewBag.Message</h2>
</hgroup>
<p>
若要了解有关 ASP.NET MVC 的详细信息,请访问
<a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>。
该页提供 <mark>视频、教程和示例</mark> 以帮助你充分利用 ASP.NET MVC。
如果你对 ASP.NET MVC 有任何疑问,请访问
<a href="http://forums.asp.net/1146.aspx/1?MVC" title="ASP.NET MVC Forum">我们的论坛</a>。
</p>
</div>
</section>
}
<h3>下面是我们的建议:</h3>
@Html.TestHtml()
@Html.TestHtml("TestHtml")
@Html.JSHtml()
@Html.Label(,"")

前台注意的就是要引用命名空间!

ASP.NET MVC Razor HtmlHelper扩展和自定义控件的更多相关文章

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

    一.先创建一个HtmlHelper的扩展类,代码: using System; using System.Collections.Generic; using System.Linq; using S ...

  2. 【ASP.NET MVC系列】浅谈ASP.NET MVC八大类扩展(上篇)

    lASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操 ...

  3. ASP.NET没有魔法——ASP.NET MVC Razor与View渲染 ASP.NET没有魔法——ASP.NET MVC界面美化及使用Bundle完成静态资源管理

    ASP.NET没有魔法——ASP.NET MVC Razor与View渲染   对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的 ...

  4. ASP.NET MVC Razor语法

    ASP.NET MVC Razor语法 (一) 关于_ViewStart.cshtml文件     使用Razor模板引擎的话,会自动生成一个_ViewStart.cshtml文件.事实上,_View ...

  5. Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html

    Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html 1.前言 上一篇文章我开源了轮子,Asp.net Core 3.1 Razor视图模版动态渲染PDF,然后,很 ...

  6. Asp.net MVC Razor模板引擎技巧分享

    Razor是Asp.net MVC中新的默认模板类型, 语法简单易用.这篇文章不涉及Razor的语法,主要介绍Razor的一些在MVC项目中的使用技巧,以及脱离MVC环境下,如何使用Razor. 阅读 ...

  7. [Asp.net Mvc]通过UrlHelper扩展为js,css静态文件添加版本号

    写在前面 在app中嵌入h5应用,最头疼的就是缓存的问题,比如你修改了一个样式,或者在js中添加了一个方法,发布之后,并没有更新,加载的仍是缓存里面的内容.这个时候就需要清理缓存才能解决.但又不想让w ...

  8. MvcMailer通过ASP.NET MVC Razor视图和基架发送邮件

    MvcMailer是一个有趣的组件,您可以使用ASP.NET MVC框架在发送邮件.很重要的是,它使用Razor视图引擎的观点作为电子邮件模板和很容易安装和使用.在本文中你将看到如何安装,设置邮件模板 ...

  9. ASP.NET没有魔法——ASP.NET MVC Razor与View渲染

    对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的界面呈现工作是由浏览器完成的,Web应用的原理是通过Http协议从服务器上获取到 ...

随机推荐

  1. SharePoint 2013 对象模型操作"网站设置"菜单

    在SharePoint的开发中,经常会有客户提到网站操作上的栏目过多,其实,我们除了可以通过Feature的方式添加,还可以通过服务器端对象模型的方式添加:下面,让我用简单的例子,给大家介绍一下: 1 ...

  2. SharePoint 2013 中的SQL Server 安全

    使用SharePoint很长时间以来,都认为Sql只需要最初始的配置,即不再需要管理和维护:而事实上,Sql的管理和安全,都是和SharePoint环境的稳定性息息相关的,所以,要绝对重视ShareP ...

  3. Android 首页图片轮播

    1.网络上的的一个框架,已经在github 上开源 github  : https://github.com/gcgongchao/flashview 相关博客 : http://www.eoeand ...

  4. Android——微信界面(简易版)

    前面我们简单的介绍了一下android的五大布局,那么现在我们来实践一下,写一个简单的微信界面 首先,我们新建一个weixin.xml的linnerlayout布局 我们日常使用的微信,从简单的方面来 ...

  5. win-tc图形库编程

    本文地址:http://www.cnblogs.com/archimedes/p/win-tc-graphics-use.html,转载请注明源地址. 由于最近接到一个紧急任务,需要实现一个程序,显示 ...

  6. C迷途指针

    在计算机编程领域中,迷途指针,或称悬空指针.野指针,指的是不指向任何合法的对象的指针. 当所指向的对象被释放或者收回,但是对该指针没有作任何的修改,以至于该指针仍旧指向已经回收的内存地址,此情况下该指 ...

  7. C标准库<string.h>实现

    本文地址:http://www.cnblogs.com/archimedes/p/c-library-string.html,转载请注明源地址. 1.背景知识 <string.h>中声明的 ...

  8. iOSQuartz2D-01-核心要点

    简介 作用 绘制 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 自定义UI控件(通常为内部结构较复杂的控件) UIKit中的绝大部分控 ...

  9. 拿什么守护你的Node.JS进程: Node出错崩溃了怎么办? foreverjs, 文摘随笔

    守护进程 方案一 npm install forever https://github.com/foreverjs/forever 方案二 npm install -g supervisor http ...

  10. 有用的.NET库

    1. Polly,重试 Polly is a .NET 3.5 / 4.0 / 4.5 / PCL library that allows developers to express transien ...