【问题标题】:ASP.NET MVC custom helper objectsASP.NET MVC 自定义帮助器对象
【发布时间】:2009-08-28 08:57:35
【问题描述】:

我将为我的应用编写大量帮助程序。

对于他们中的许多人,我不想扩展 HtmlHelper,而是创建另一个帮助程序类,原因有两个:1) 能够编写 Link.Home 和 Icon.Edit 而不是 Html.HomeLink和 Html.IconEdit; 2) 能够轻松区分标准助手和自定义助手以及后者的定义位置。

这可能吗?怎么样?

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

谢谢

【问题讨论】:

    标签: asp.net-mvc helpers


    【解决方案1】:

    嗯,“辅助方法”只是扩展方法。如果您希望能够在视图中写入Link.Home,则必须扩展ViewPage 并添加类型为Link 的属性,例如ILinkILink 接口本身可能为空。现在你的所有视图都应该继承自MyViewPage,编写辅助方法变得很简单:

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

    【讨论】:

      【解决方案2】:

      这可以通过继承 HtmlHelper 并调用新类 Link 和 Icon 来实现。

      我不推荐它,原因很简单,Html.HomeLink 和 Html.IconEdit 清楚地说明了方法的作用,它以 HomeLink 和编辑图标的形式输出 Html。

      【讨论】:

        猜你喜欢
        • 2014-02-02
        • 1970-01-01
        • 2023-03-13
        • 2016-11-15
        • 2010-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多