ASP.NET MVC:Razor @helper vs HtmlHelper的扩展方法 - 哪个更受欢迎?

时间:2011-06-08 22:05:15

标签: asp.net-mvc razor html-helper

ASP.NET MVC中的Razor视图引擎支持@helper定义小帮助方法。看来你可以通过向HtmlHelper添加扩展方法来做同样的事情。在什么情况下最好使用每种?

2 个答案:

答案 0 :(得分:8)

主观问题,所以这是我的主观和有偏见的答案:当帮助代码涉及大量C#代码时,使用自定义HtmlHelper,当它是主要标记时,您可以使用@helper。但假设您有标记时可以使用@Html.Partial("_foo", SomeModel)之类的部分或@Html.EditorFor(x => x.Foo)之类的编辑/显示模板,@helper实际上没有任何实际用途。就个人而言,我从来没有使用@helper,我从来没有向我一直在咨询的人推荐它。

答案 1 :(得分:7)

是的,这是真的,尽管@helpers似乎更容易使用,如果有一大堆标记包含在内--Html扩展和更广泛的标记不能很好地结合在一起,IMO。

另一方面,@ helpers不能像Html扩展一样进行单元测试。

相关问题