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. centos网络yum源的安装

    CentOS使用EPEL YUM源EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHE ...

  2. 洛谷P2397 yyy loves Maths VI (mode)

    P2397 yyy loves Maths VI (mode) 题目背景 自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居 ...

  3. JavaScript 教程 之基础教程

    1.js 错误 var objClass = { foo:1, bar:2 }; function printf() { var aaa:objClass; aaa.foo = 2; console. ...

  4. 【AGC005F】Many Easy Problems (NTT)

    Description ​ 给你一棵\(~n~\)个点的树和一个整数\(~k~\).设为\(~S~\)为树上某些点的集合,定义\(~f(S)~\)为最小的包含\(~S~\)的联通子图的大小.\(~n~ ...

  5. Android ListView 列表视图

    列表显示的三个元素 ListView : 用来显示列表的View Adapter : 适配器 用来把数据映射到ListView 上的中介 Data: 数据 将被映射的字符串,图片或者基本组件等资源 根 ...

  6. JOISC 2017 自然公园

    吐槽 YMD的课件是真的毒,YYB的也很毒. 题目链接 LOJ sol 我是一个一个Subtask做的... Subtask 1 \(O(n^2)\)枚举每两个点有没有边即可. Subtask 2 链 ...

  7. 【BZOJ2875】【NOI2012】随机数生成器(矩阵快速幂)

    [BZOJ2875]随机数生成器(矩阵快速幂) 题面 Description 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Me ...

  8. 隐藏SharePoint 2013 team sites里的follow按钮

    cls $featureid = 'a7a2793e-67cd-4dc1-9fd0-43f61581207a'$webapps = Get-spWebApplicationforeach($webap ...

  9. windows下用bat启动jar包,修改cmd标题(title)

    新建start.bat,输入以下内容即可. @echo off title myprogress-%date%-%time%-%cd% java -jar myprogress.jar

  10. Vector 是线程安全的,是不是在多线程下操作Vector就可以不用加Synchronized

    如标题一样,如果之前让我回答,我会说,是的,在多线程的环境下操作Vector,不需要加Synchronized. 但是我今天无意间看到一篇文章,我才发现我之前的想法是错误的,这篇文章的地址: http ...