【问题标题】:Why do we use HTML helper in ASP.NET MVC?为什么我们在 ASP.NET MVC 中使用 HTML 助手?
【发布时间】:2011-06-08 14:06:51
【问题描述】:

在 ASP.NET MVC 项目中使用 HTML 帮助程序后,我们有什么好处、最佳实践或利润吗?

当我尝试使用它们时,我发现我失去了使用 HTML 的速度,并且每当我使用 HTML 帮助程序时都会遇到很多困难。

其他 [非技术人员] 无法理解我使用 Helper 编写的内容,如果我想向他们展示或者他们想做一些需要花费更多时间的事情,即使他们具备 HTML 的工作知识。

如果我使用 HTML 助手,我会失去速度。当我使用 HTML 时,我只是输入,当然我不知道它。但是使用 helper 就很难理解了。

当我使用 HTML 帮助器时,我们会得到什么?我认为我没有得到任何东西,因为我失去了速度。其他人无法理解我使用 helper 做什么,也无法根据需要自定义代码。

我们为什么要使用 HTML 助手?

【问题讨论】:

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


    【解决方案1】:

    您使用 HTML 助手来封装一些小的 HTML 片段,这些片段在您的页面中重复出现。并且为了避免重新编写那些 HTML sn-ps,您使用帮助程序。

    它们非常有用,尤其是在处理 URL 之类的事情时,因为链接助手不是硬编码您的链接,而是利用在您的服务器上路由定义并通过简单地更改这些路由来更改整个站点 URL,而无需触及任何单个 HTML 页面.

    HTML 助手有用的另一个场景是生成表单输入字段。在这种情况下,它们可以在回发时自动处理值并显示相关的验证消息。如果没有 HTML 帮助器,你能想象你必须在视图中编写的意大利面条代码吗?

    【讨论】:

    • 我有一个迟到的问题...... HTML.TextBox/Hidden 有什么可能的优势;我肯定花了 8 个小时来学习如何像 一样灵活地使用它,最初可能需要 15m 才能学会。它本质上迫使我制作面向对象的简单标记,而不减少我们已经处理的 伪对象的数量。考虑到您必须放置所有新的{} 和(对象)类型标签以恢复全部功能,TextBox 实际上似乎创建了比输入更多的重复......似乎是对糟糕设计语言的快速修复。但我同意上述优势
    • "你能想象如果没有 HTML 帮助器,你必须在视图中编写意大利面条式代码吗?"我不知道这一点,您能否提供一个示例,说明在实践中给定的差异是什么样的?
    【解决方案2】:

    我发现最大的优势在于编辑器和显示模板。

    如果您的字段编辑器不仅仅是一个简单的输入框,您可以将其放入模板中,并用调用替换几个标签

    <%:Html.EditorFor(m=>m.Property)%>

    这意味着您的页面更易于编辑,因为您无需费力地通过大量的 HTML 来查找您想要的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 2014-12-04
      • 2013-07-27
      • 1970-01-01
      • 2011-07-27
      • 2014-08-23
      相关资源
      最近更新 更多