using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace WebApplication1.MyHtmlHelper
{
public static class MyHtmlHelper
{
//页面渲染结果:
//<span>我扩展的Label,自动生成Span标签</span>
//把标签名都显示(直接将内容显示)
public static string MyHtmlLable1(this HtmlHelper html,string lableName)
{
return string.Format("<span>{0}</span>",lableName);
} public static HtmlString MyHtml(this HtmlHelper html, string value)
{
return new HtmlString(value);
} //页面渲染结果:
//span标签
public static HtmlString MyHtmlLable2(this HtmlHelper html, string lableName)
{
return MyHtml(html,string.Format("<span>{0}</span>", lableName));
} //页面渲染结果:
//input标签
public static HtmlString MyTextBox(this HtmlHelper html,string content)
{
return MyHtml(html,string.Format("<input type='type' value='{0}'/>",content));
} }
}

@using WebApplication1.MyHtmlHelper
@{
ViewBag.Title = "Test";
} <h2>Test</h2> @*结果:<span>我扩展的Label,自动生成Span标签</span>*@
@Html.MyHtmlLable1("我扩展的Label,自动生成Span标签") <br /> @*结果:我扩展的Label,自动生成Span标签*@
@Html.MyHtmlLable2("我扩展的Label,自动生成Span标签") <br /> @*结果:span标签测试*@
@Html.MyHtml("span标签测试") <br /> @*textbox*@
@Html.MyTextBox("textbox") <br />

 

所有标签定义方法:

 
        public static string SelfDefineTagString(this HtmlHelper helper, string tagName, string id, string name, string className,string value, string style)
{
//创建标签
TagBuilder tb = new TagBuilder(tagName);
//定义标签id
tb.GenerateId(id);
//定义标签name
tb.MergeAttribute("name", name);
//定义标签class
tb.AddCssClass(className);
//定义标签样式
tb.MergeAttribute("style", style);
//定义标签内容
tb.SetInnerText(value);
return tb.ToString();
} public static HtmlString SelfDefineTag(this HtmlHelper helper, string tagName, string id, string name, string className,string value, string style)
{
return new HtmlString(SelfDefineTagString(helper, tagName, id, name, className, value, style)); }


html调用方法:

@Html.SelfDefineTag("p", "test", "test", "test", "p标签", "color:red;background:#ccc;width:100px;text-align:center")

asp.net mvc Htmlhelper简单扩展的更多相关文章

  1. 扩展ASP.NET MVC HtmlHelper类

    在这篇帖子中我会使用一个示例演示扩展ASP.NET MVC HtmlHelper类,让它们可以在你的MVC视图中工作.这个示例中我会提供一个简单的方案生成Html表格. HtmlHelper类 Htm ...

  2. ASP.NET MVC HtmlHelper用法集锦

    ASP.NET MVC HtmlHelper用法集锦 在写一个编辑数据的页面时,我们通常会写如下代码 1:<inputtype="text"value='<%=View ...

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

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

  4. ASP .NET MVC HtmlHelper扩展——简化“列表控件”的绑定

    在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDo ...

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

    本文转自:http://blog.bossma.cn/asp_net_mvc/asp-net-mvc-htmlhelper-calendar-datetime-select/ 这里我们扩展HtmlHe ...

  6. ASP.NET MVC HtmlHelper 类的扩展方法

    再ASP.NET MVC编程中用到了R语法,在View页面编辑HTML标签的时候,ASP.NET MVC 为我们准备好了可以辅助我们写这些标签的办法,它们就是HtmlHelper.微软官方地址是:ht ...

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

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

  8. asp.net mvc(一) ----------简单封装成通用的List<T>集合

    asp.net mvc(一) 这些天开始学习asp.net mvc,用传统的asp.net已经快四的年了,刚开始接触asp.net mvc确认感觉有点不适应,主要体现在asp.net mvc的实现上. ...

  9. asp.net mvc htmlHelper

    ASP.NET MVC 3.0 HTML辅助方法   HTML辅助方法(html helper)是用来帮助生成HTML的方法. 1.HTML辅助方法应用实例 ◊ 生成form元素 @using (Ht ...

随机推荐

  1. java程序在windows系统作为服务程序运行

    Java程序很多情况下是作为服务程序运行的,在Un*x 平台下可以利用在命令后加“&”把程序作为后台服务运行,但在Windows下看作那个Console窗口在桌面上,你是否一直担心别的同时把你 ...

  2. 简单谈谈DNS协议

    DNS协议也可以称为DNS服务,全称是Domain Name System,即域名系统,和HTTP协议一样,也是一个位于应用层的协议(服务),它是基于运输层的UDP协议的,关于网络协议的分层介绍,见这 ...

  3. Java和Spring邮件的发送

    方法一: java发送电子邮件:这里以发送qq邮件为例: package test; import java.util.Properties; import javax.mail.Authentica ...

  4. Flask-sqlacodegen

    ORM操作有两种方式. 1.模型迁移到数据库中生成表,codefirst:使用flask-migrate: 需要flask-script: from flask_script import Manag ...

  5. 2017ACM/ICPC亚洲区沈阳站-重现赛

    HDU 6222 Heron and His Triangle 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6222 思路: 打表找规律+大数运算 首先我 ...

  6. BZOJ2839 : 集合计数 (广义容斥定理)

    题目 一个有 \(N\) 个 元素的集合有 \(2^N\) 个不同子集(包含空集), 现在要在这 \(2^N\) 个集合中取出若干集合(至少一个), 使得它们的交集的元素个数为 \(K\) ,求取法的 ...

  7. oracle安装教程及常用命令

    虽然网上已经有很多安装教程了,但还是写一个记录一下自己的安装过程以及遇到问题的解决办法 1 安装包下载: 去oracle的官网:https://www.oracle.com/index.html  选 ...

  8. 【BZOJ2484】[SDOI2011]打地鼠(暴力)

    [BZOJ2484][SDOI2011]打地鼠(暴力) 题面 BZOJ 洛谷 题解 看到数据范围这题就应该是一个暴力题了. 先考虑假如我们知道了锤子的大小\(R*C\),那么显然只需要从左上角开始从左 ...

  9. 使用sharepoint里Open with explorer功能

    使用这个功能时,遇到几个问题: 1. 当点击library时,ie报错:A problem with this webpage caused Internet Explorer to close an ...

  10. CodeChef题目选讲

    https://wenku.baidu.com/view/2445a0322f60ddccda38a023.html 关键点:不超过7条 根据咕咕原理,所以答案最少是N/7;(N小于49就暴力) 随机 ...