html - ASP.NET MVC HTML Helpers 是否被高估了?

标签 html asp.net-mvc coding-style html-helper

我很可能没有理解要点,但我真的想不通 ASP.NET MVC 的 HTML Helpers 如何帮助我。这是一个示例:-

HTML:

<a href="ActionName" target="_blank">Click Me</a>

HTML 助手:

<%= Html.ActionLink("Click me", "ActionName", null, new {target="blank"}) %>

我的眼睛更容易阅读 HTML,使用 HTML Helpers 似乎违反直觉。

查看以下参数:

  • 很多人(甚至新手)都知道如何阅读 HTML。 HTML Helper 语法很容易混淆。
  • 在许多情况下,您需要编写 HTML“帮助程序”进行更多输入,然后才需要编写实际的 HTML。
  • HTML Helper 无论如何都会生成真正的 HTML,那么为什么不直接编写 HTML?
  • 编写 HTML 可以让您更好地控制语法和标准。您可以使其符合您想要的任何 HTML 标准。

是否有任何我不理解的特别令人信服的原因(因为我是在 MVC 中自学的并且可能存在差距)应该让我更喜欢 HTML Helpers?

或者它们只是代码噪音?

最佳答案

您不使用 <a> 的主要原因直接标记是您不想在应用程序中对 URL 进行硬编码。 Html.ActionLink方法将抽象出 URL 生成,您将指定 Controller 、操作和其他参数。

所以,基本上,您在问题中发布的两行并不完全相同。您应该考虑将动态 URL 生成代码添加到 <a>标记使它们在功能上等效。除此之外,如果你直接输出 HTML,你必须非常小心 HTML 编码的东西。 Html.ActionLink也会为您完成这项工作。

关于html - ASP.NET MVC HTML Helpers 是否被高估了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1350046/

相关文章:

javascript - 使用单行函数或重复代码

html - 覆盖内联样式高度自动

html - 将 PDF 的第一页显示为图像

javascript - 使用 javascript 更改页面内容

asp.net-mvc - 将 @Html.DisplayFor 放入 @Html.ActionLink

javascript - 如果包含完全匹配则隐藏表 td

javascript - 如何在使用 CSS 输入字符串后添加换行符

c# - 在 View 中从 ViewModel 迭代 ICollection

javascript - 当我使用 angularjs 从 MVC Controller 获取数据时,OwlCarousel 不工作

iphone - ios - 代码 VS Storyboard 意见