HTML助手是否值得使用复杂的标记?

时间:2013-07-15 13:05:22

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

我应该坚持使用HTML帮助程序,还是只使用纯HTML?

我一直在使用HTML帮助器一段时间,并且非常喜欢使用它们。最近我开始使用Twitter Bootstrap之类的CSS框架,我发现我的标记过于复杂而无法使用标准HTML帮助程序。

当然,我仍然使用Url.Action()来生成链接,有时候使用@Html.TextBoxFor()或类似的简单形式,但是,例如,我找到了一些帮助,如Html.ActionLink()或{{ 1}}只是不要削减它。

我的标记通常包含复杂的巢穴。例如,在Bootstrap中,我可能想要添加一个图标作为链接的一部分:

Using Html.BeginForm()

这在Bootstrap中很常见,我觉得HTML助手会妨碍你。我可以自己制作,但我的标记完全不同。

假设我只使用少量的HTML助手;需要的地方。这提出了另一个问题:

如果我最大限度地减少HTML帮助程序的使用,我应该完全删除它们并主要使用常规HTML来保持一致性吗?

3 个答案:

答案 0 :(得分:5)

我同意Html标记帮助程序可以对隐藏这意味着传达它。我们都了解Html(设计师和开发人员),为什么不使用它呢? Html助手简单地将我们转换为为我们发布Html的Asp.Net控件的时代。举个例子,这两个中哪一个更清楚?

@Html.ActionLink("About this Website", "About") 

<a href='/about'>About this website</a> 

当然,第二个答案可能有更多的字符,但更清楚。

答案 1 :(得分:3)

当你必须开始用页面元素做更高级的事情时,它开始变得丑陋。我总是发现自己必须转到渲染的页面源,以确切地看到生成的方式很多次。另一个问题是当你有一个设计师尝试设置你的标记样式时,大多数人会知道html而不是razor / aspx语法。

我的建议是为任何会利用大量js libs(jquery / knockout / angular / etc)的网站做直接html。特别是表格助手。

答案 2 :(得分:2)

  

如果我最小化HTML帮助程序的使用,我应该放弃它们   总而言之,主要使用常规HTML来保持一致性?

不,始终使用HTML帮助程序。在复杂锚点的示例中,您仍然可以使用Url.Action帮助程序设置其href属性并对其他部分进行硬编码。