<p>
@Html.Message("id", "name", "color:red;", "一个标签") //调用自定义span扩展方法
<span id="id" name="name" style="color:red;">一个标签</span>
</p>
<p>
@Html.submit("id", "提交", "color:blue;height:50px;width:200px;") //调用自定义input扩展方法
<input id="id" style="color:blue;height:50px;width:200px;" type="submit" value="提交"></input>
</p>
自定义扩展辅助方法:
using System.Diagnostics;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Helpers
{
public static class HtmlHelperExt
{
//自定义一个span标签扩展方法
public static MvcHtmlString Message(this HtmlHelper helper, string id, string name, string style, object message)
{
if (message != null)
{
TagBuilder bulder = new TagBuilder("span");
bulder.GenerateId(id); //标记字段
bulder.MergeAttribute("name", name); //添加属性
bulder.MergeAttribute("style", style);
bulder.SetInnerText(message.ToString()); //显示的文本
return bulder.ToMvcHtmlString(TagRenderMode.Normal);
}
return null;
}
//自定义一个input标签扩展方法
public static MvcHtmlString submit(this HtmlHelper helper, string id, string value, string style)
{
TagBuilder bulder = new TagBuilder("input");
bulder.GenerateId(id); //标记字段
bulder.MergeAttribute("type", "submit"); //添加属性
bulder.MergeAttribute("value", value);
bulder.MergeAttribute("style", style);
return bulder.ToMvcHtmlString(TagRenderMode.Normal);
}
}
public static class TagBulderExtensions
{
public static MvcHtmlString ToMvcHtmlString(this TagBuilder tagbuilder, TagRenderMode mode)
{
Debug.Assert(tagbuilder != null);
return new MvcHtmlString(tagbuilder.ToString(mode));
}
}
}
系统自带扩展辅助方法: