我想编写自己的自定义HTML帮助程序,扩展现有的帮助程序。例如。我想创建以扩展@Html.EditorFor
,如下所示:
@Html.EditorFor(model => model.percent, new { data_a_sign="%", data_p_sign="s" })
变为:
@Html.PercentEditorFor(model => model.percent)
怎么会写这个?
这样的东西?
namespace AdminPortal.Helpers
{
public static class HtmlHelpers
{
public static MvcHtmlString PercentEditorFor<TModel>(this HtmlHelper html,
Expression<Func<TModel>> expression)
{
// Some Magic?
}
}
}
任何指针都会非常感激。
答案 0 :(得分:1)
只需从您自己的帮助程序返回现有的EditorFor方法即可:
public static MvcHtmlString PercentEditorFor<TModel>(this HtmlHelper html,
Expression<Func<TModel>> expression)
{
return html.EditorFor(...);
}
将您自己修改的参数放入EditorFor方法中。不需要魔法:)