使用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