asp.net MVC HtmlHelper简单实列

 使用Html 辅助方法可以让开发View页面的过程节省不少时间,但是有时候难免会觉得内建的HTML 辅助方法不够用, 废话不多说,下面是一个简单的imagehtmlHelper的列子


using System.Web;

using System.Web.Mvc;
using System.Web.Routing;
using System.Text;
namespace Artech.VM.Controllers
{
    public static class HtmlHelpers
    {

//开发Html辅助方法必须替HtmlHelper型别新增扩充方法(Extension Method),因为C# 3.0的扩充方法是一种特

//殊的静态方法,因此在开发HTML辅助方法时必须声明静态

        public static MvcHtmlString  Image(this HtmlHelper helper,string id,string url,string alt,string title )
        {
          return Image(helper, id, url,alt, title);
        }


        public static MvcHtmlString Image(this HtmlHelper helper, string id, string url, string alt, string title, object htmlAttributes)
        {
            var tag = new TagBuilder("img");
            tag.GenerateId(id);
            tag.MergeAttribute("src", url);
            tag.MergeAttribute("alt", alt);
            tag.MergeAttribute("title", title);
          tag.MergeAttribute(new RouteValueDictionary(htmlAttributes));


            return  MvcHtmlString.Create(tag.ToString(TagRenderMode.SelfClosing));
        }


    }

上述使用TagBuilder 的写法可能看起来有些复杂,但这样不管是需要增加属性,都不用再去改写辅助方法,程序的弹性比较好。以上就是简单的两个小列子。

转自:咖啡之念 http://www.aicoffees.com/itshare/412031847.html

你可能感兴趣的:(asp.net,HtmlHelper开发)