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