我将为我的应用程序编写大量帮助程序。
对于他们中的许多人,我不想扩展 HtmlHelper,而是创建另一个帮助程序类,原因有两个:1) 能够编写 Link.Home 和 Icon.Edit 而不是 Html.HomeLink 和 Html。图标编辑;2) 能够轻松地将标准助手与自定义助手区分开来,以及后者的定义位置。
这可能吗?如何?
这不推荐吗?为什么?
谢谢
我将为我的应用程序编写大量帮助程序。
对于他们中的许多人,我不想扩展 HtmlHelper,而是创建另一个帮助程序类,原因有两个:1) 能够编写 Link.Home 和 Icon.Edit 而不是 Html.HomeLink 和 Html。图标编辑;2) 能够轻松地将标准助手与自定义助手区分开来,以及后者的定义位置。
这可能吗?如何?
这不推荐吗?为什么?
谢谢
好吧,“辅助方法”只是扩展方法。如果您希望能够Link.Home
在视图中进行编写,则必须扩展ViewPage
并添加名为Link
type 的属性,例如ILink
. ILink
接口本身可能是空的。现在你的所有视图都应该继承自MyViewPage
,编写辅助方法就变成了一项简单的任务:
public static string Home(this ILink link, string text)
{
// ...
}
例如,这可以通过继承 HtmlHelper 并调用新类 Link 和 Icon 来实现。
我不推荐它,原因很简单,Html.HomeLink 和 Html.IconEdit 清楚地说明了该方法的作用,它以 HomeLink 和编辑图标的形式输出 Html。