asp.net mvc Htmlhelper简单扩展

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简单扩展的更多相关文章
- 扩展ASP.NET MVC HtmlHelper类
在这篇帖子中我会使用一个示例演示扩展ASP.NET MVC HtmlHelper类,让它们可以在你的MVC视图中工作.这个示例中我会提供一个简单的方案生成Html表格. HtmlHelper类 Htm ...
- ASP.NET MVC HtmlHelper用法集锦
ASP.NET MVC HtmlHelper用法集锦 在写一个编辑数据的页面时,我们通常会写如下代码 1:<inputtype="text"value='<%=View ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC八大类扩展(上篇)
lASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操 ...
- ASP .NET MVC HtmlHelper扩展——简化“列表控件”的绑定
在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDo ...
- [转]ASP.NET MVC HtmlHelper扩展之Calendar日期时间选择
本文转自:http://blog.bossma.cn/asp_net_mvc/asp-net-mvc-htmlhelper-calendar-datetime-select/ 这里我们扩展HtmlHe ...
- ASP.NET MVC HtmlHelper 类的扩展方法
再ASP.NET MVC编程中用到了R语法,在View页面编辑HTML标签的时候,ASP.NET MVC 为我们准备好了可以辅助我们写这些标签的办法,它们就是HtmlHelper.微软官方地址是:ht ...
- [Asp.net Mvc]通过UrlHelper扩展为js,css静态文件添加版本号
写在前面 在app中嵌入h5应用,最头疼的就是缓存的问题,比如你修改了一个样式,或者在js中添加了一个方法,发布之后,并没有更新,加载的仍是缓存里面的内容.这个时候就需要清理缓存才能解决.但又不想让w ...
- asp.net mvc(一) ----------简单封装成通用的List<T>集合
asp.net mvc(一) 这些天开始学习asp.net mvc,用传统的asp.net已经快四的年了,刚开始接触asp.net mvc确认感觉有点不适应,主要体现在asp.net mvc的实现上. ...
- asp.net mvc htmlHelper
ASP.NET MVC 3.0 HTML辅助方法 HTML辅助方法(html helper)是用来帮助生成HTML的方法. 1.HTML辅助方法应用实例 ◊ 生成form元素 @using (Ht ...
随机推荐
- flask客户端测试使用设置cookie参数
今天在对flask客户端进行测试,然后看到我们服务器端用请求前钩子写了这样的代码 @app.before_requestdef before_request(): session = request. ...
- Chrome disable cache & clear memory cache
Chrome disable cache & clear memory cache disable cache
- 51nod蜥蜴与地下室(1498)(暴力搜索)
题意:一个数组s,再给你a,b值,除了s1和sn外,你可以攻击其他元素,你对这个元素的伤害为a,那么他两边的元素会受到b的牵连伤害,si-a,si-1-b,si+1-b: 求最小的次数,使得这个数组的 ...
- flask再学习-思考之怎么从数据库中查询数据在页面展示!
看别人视频觉得很简单,要自己做蒙蔽了!这样子.NO! 1. 流程: 首先要有和数据库连接的驱动!一般有PYMySQL mysqlclient 等 使用扩展Flask-SQLAlchemy 获得orm对 ...
- 【BZOJ4000】【LOJ2104】【TJOI2015】棋盘 (状压dp + 矩阵快速幂)
Description 有一个\(~n~\)行\(~m~\)列的棋盘,棋盘上可以放很多棋子,每个棋子的攻击范围有\(~3~\)行\(~p~\)列.用一个\(~3 \times p~\)的矩阵给出了 ...
- 洛谷P2480 [SDOI2010]古代猪文(费马小定理,卢卡斯定理,中国剩余定理,线性筛)
洛谷题目传送门 蒟蒻惊叹于一道小小的数论题竟能涉及这么多知识点!不过,掌握了这些知识点,拿下这道题也并非难事. 题意一行就能写下来: 给定\(N,G\),求\(G^{\sum \limits _{d| ...
- 配置远程jupyter notebook
在远程服务器上启动jupyter notebook,然后在本地进行访问.本文使用最简单的一种方法,无需设置密码,所以这种方法也是最不安全的方法,慎用. 1. 在远程服务器上生成jupyter note ...
- JS循环语句!
<1> for(1.初始值(初始值只有一次):2.判断条件:4.状态改变){ 3.执行语句: //如果判断条件为true,则进入死循环:不设执行语句浏览器会未响应: } <2> ...
- html实现猜数字游戏
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 什么是 Spring?
感想: 我在写这个东西的时候看了不同的视频,和不同的书,关于对于spring的讲解,感觉黑马的培训视频,是讲的更加的让人容易理解. 这段时间因为各种的事情,没有写过博客了,曾经做的笔记有的在有道云笔记 ...