代码之家  ›  专栏  ›  技术社区  ›  giorgian

ASP.NET MVC自定义帮助器对象

  •  1
  • giorgian  · 技术社区  · 15 年前

    我要为我的应用程序写很多助手。

    对于其中的许多人,我不想扩展html helper,而是创建另一个helper类,原因有两个:1)能够编写,例如link.home和icon.edit,而不是html.home link和html.icon edit;2)能够很容易地分辨标准帮助者和自定义帮助者,以及定义后者的位置。

    这有可能吗?怎么用?

    不建议这样做吗?为什么?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  0
  •   Robban    15 年前

    这可以通过将htmlhelper子类化并调用新的类链接和图标来实现。

    我不建议这样做,原因很简单:html.homelink和html.icon edit清楚地说明了该方法的作用,它以homelink和edit图标的形式输出html。

        2
  •  4
  •   Anton Gogolev    15 年前

    嗯,“助手方法”只是扩展方法。如果你想写 Link.Home 在你看来,你必须扩展 ViewPage 并添加名为 Link 比如说, ILink . 这个 伊林克 接口本身可能为空。现在,您的所有视图都应该继承自 MyViewPage 编写助手方法就变成了一项简单的任务:

    public static string Home(this ILink link, string text)
    {
         // ...
    }