我想对我的 html 助手进行分组,以便我可以在我的 View 中编写如下简单的内容:
@Html.SubGroup.MyCustomHelper("Hellow World")
而不是:
@Html.MyCustomHelper("Hellow World")
看来我无法在用于所有助手的 HtmlExtensions 类中嵌套静态类。
有什么建议吗?
最佳答案
您不能执行@Html.SubGroup.MyCustomHelper("...")
,因为不存在“扩展属性”这样的东西,并且您无法控制HtmlHelper
静态类。
但是您可以使用额外的括号作为扩展方法来执行@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);
}
}
关于c# - MVC3 - 组 Html 帮助器扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8840925/