MVC3-组Html帮助程序扩展
本文关键字:程序扩展 帮助 Html MVC3- | 更新日期: 2023-09-27 18:20:04
我想对我的html助手进行分组,这样我就可以在我的视图中写一些简单的东西:
@Html.SubGroup.MyCustomHelper("Hellow World")
而不是:
@Html.MyCustomHelper("Hellow World")
似乎我无法在用于所有助手的HtmlExtensions类中嵌套静态类。
有什么建议吗?
您不能执行@Html.SubGroup.MyCustomHelper("...")
,因为没有"扩展属性"这回事,而且您不能控制HtmlHelper
静态类。
但是可以使用额外的parens作为扩展方法来执行@Html.SubGroup().MyCustomHelper("...")
。
public static class MyHtmlHelpers
{
public static MyHelpers SubGroup(this HtmlHelper helper)
{
return new MyHelpers(helper);
}
}
public class MyHelpers
{
public HtmlHelper Helper { get; private set; }
public MyHelpers(HtmlHelper helper)
{
this.Helper = helper;
}
public MvcHtmlString MyCustomHelper(string someArgument)
{
return MvcHtmlString.Create(someArgument);
}
}