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简单扩展

时间: 2024-12-17 08:03:57

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

扩展ASP.NET MVC HtmlHelper类

在这篇帖子中我会使用一个示例演示扩展ASP.NET MVC HtmlHelper类,让它们可以在你的MVC视图中工作.这个示例中我会提供一个简单的方案生成Html表格. HtmlHelper类 HtmlHelper类用于在ASP.NET MVC framework中帮助视图呈现html部分. 这个类提供了一些方法,你可以使用这些方法呈现html中的一些类型(textbox,checkbox等),或者html的一部分(如form).ASP.NET MVC framework helper有这些内容

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

本文转自:http://blog.bossma.cn/asp_net_mvc/asp-net-mvc-htmlhelper-calendar-datetime-select/ 这里我们扩展HtmlHelper,就像它包含在ASP.NET MVC中一样,扩展方法使我们能为已有的类添加方法.这里使用了一个日期时间选择控件:My97DatePicker,需要添加到网站中,并在页面中引用. 先看看是怎么扩展的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

asp.net MVC最简单的增删查改!(详)

折腾了两天搞出来,但原理性的东西还不是很懂,废话不多说上图上代码 然后右键models,新建一个数据模型 注意我添加命名为lianxi 添加后如上 接下来在controllers添加控制器还有在Views中添加视图 注意控制器lianxi和视图的名字要一致,然后视图我是添加了3个分别是Index,insert,Modify,在控制器里分别有三个对应的函数 每当用URL访问视图时,他就调用了controllers对应的方法,例如 jiaEntities 就是建立模式时那个数据链接的名字      

ASP.NET MVC中简单使用Autofac

项目中引入Autofac的目的是为了实现控制反转,即IoC,Inversion of Control.控制反转可以有效的降低类之间的相互依赖关系,增加架构的弹性,降低软件复杂度. 示例代码: IProvinceRepository.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Libing.Portal.Web.Models { public i

Asp.Net Mvc+MongoDB简单增删查改

                                   Asp.Net Mvc+MongoDB简单增删查改 概要:现在很多企业都在使用非关系型的NoSql数据库,其中MongoDB是相当热门的,最近有空就研究了一下,本文写了一套基于Asp.Net Mvc和MongoDB的简单增删查改,本文部分内容是借用其他博文,最后我会贴出出处. 正文: 在控制器的Models中新建一个UserModel模型(其中相当于另开一个类库,类似Dal层) using System; using Syst

asp.net mvc signalr 简单聊天室

signalr的神奇.实用很早就知道,但一直都没有亲自去试用,仅停留在文章,看了几篇简单的介绍文字,感觉还是很简单易用的. 由于最后有个项目需要使用到它,所以就决定写个小程序测试一下,实践出真知:别人写的文章,由于环境(版本等)不同,还是或多或少存在一些出入的. 环境:vs2013 / asp.net mvc 5 / signalr 2.2.1 / jquery 1.10.2 先上两个效果图: 系统会自动给加入聊天室的人员分配一个ID,是该人员的唯一标识(绿色为当前用户说的话,橙色为当前用户之外

Mvc HtmlHelper 方法扩展 DropDownListFor

项目中遇到表单提交中遇到枚举,忽然想起1年前的1小段代码结合HtmlHelper在扩展一下 便于开发中使用 public static class HtmlHelperExtensions { public static MvcHtmlString DropDownListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>>

数往知来 ASP.NET MVC HtmlHelper、MVC快速增删改查 Cache MVC3客户端验证 MVC隐式异步提交 &lt;二十八&gt;

一.HtmlHelper.MVC快速增删改查 MVC 在MVC里面请求首先到控制器-->然后 -->数据库数据放在APP_DATE文件夹里, -->js.css文件放在content文件夹里 -->控制器放在Controllers里,控制器要以controller结尾 控制器下面的所有方法都称为action 2)webform跟 aspnet MVC:区别请求的地址不一样了 MVC请求的是控制器下面的action webform:aspx页面或者是一般处理程序 -->a标签

C# ASP.NET MVC HtmlHelper用法大全

HTML扩展类的所有方法都有2个参数: 以textbox为例子 public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, IDictionary<string, Object> htmlAttributes ) public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, Ob