码迷,mamicode.com
首页 > Web开发 > 详细

mvc4 自定义HtmlHelper

时间:2014-07-17 00:31:40      阅读:349      评论:0      收藏:0      [点我收藏+]

标签:blog   使用   os   width   io   for   

好久没写博客了,最近只看博客不写的习惯很不好啊。

好了,最近的项目中大量的用到了表单,很多表单有特殊的编写,但是在该项目中又有很多重复的地方,这个时候若能封装成htmlhelper将大大降低工作量的。
下面给出基本的使用模型,备忘

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.Mvc;
//引入下面的命名空间后,就可以在view中直接@出来了
namespace System.Web.Mvc
{
    public static class FormHtmlHelper
    {
        private const string editorwidth = "100";
        private const string editorheight = "100";
       //给下面的方法指定第一个参数为this HtmlHelper helper,这样就可以在@Ht中
       //点出来了,否则你还得@[自定义类].[你的方法]。下面的方法看上去需要传进去两个值,
       //实际上只要@Html.就可以点出来了
        public static MvcHtmlString NecessaryLabeler(this HtmlHelper helper,string name)
        {
            var ntag = new TagBuilder("span");
            ntag.AddCssClass("red");
            ntag.SetInnerText("*");
            var nametag = new TagBuilder("span");
            //tag.AddCssClass("");
            nametag.SetInnerText(name);
            return new MvcHtmlString(ntag.ToString()+nametag.ToString());
        }
       //下面的方法可以把视图的model传进去,获取值的方法看下面的lamda表达式。。。
        public static MvcHtmlString DisabledEditorFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression)
        {
            object data = ModelMetadata.FromLambdaExpression<TModel, TValue>(expression, html.ViewData).Model;
            if (data == null)
            {
                data="";
            }
            //to do what you want!
        }
        
    }
}

  

mvc4 自定义HtmlHelper,布布扣,bubuko.com

mvc4 自定义HtmlHelper

标签:blog   使用   os   width   io   for   

原文地址:http://www.cnblogs.com/srszzw/p/3849243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!