【问题标题】:Good or bad practice, using regular html in view好的或坏的做法,在视图中使用常规 html
【发布时间】:2009-01-28 20:46:03
【问题描述】:

由于习惯使用 html,我发现在我的视图中只使用常规 html 更容易,例如,使用 <input type="text" maxlength="30" name="firstname"> 而不是 创建一个文本框。或者<form method="post" name="myform"> 而不是<% html.beginform() { %>

这被认为是不好的做法吗?我应该开始强迫自己使用助手等吗?如果我继续使用常规的 html,我会遇到麻烦吗?

我只是想知道,因为我在网上看到的大多数示例和东西都使用了前面提到的所有帮助器和方法......

【问题讨论】:

  • 这是特定于 MVC 还是一般适用于 asp.net?
  • 我想它可能适用于大多数试图“抽象”html并使用控件、助手等的编程语言/框架。但我在asp.net mvc中的视图上下文中提出了这个问题,但我猜它可以扩展。
  • @Morph,距离您的原始帖子已经 3 年了,您是否发现自己在 Views 中编写了更多的 html 或帮助代码?
  • @RayCheng 我不经常写助手,只在非常特殊的场合。通常只是 HTML 或内置 MVC 帮助器!

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


【解决方案1】:

我在 PHP 中使用自定义表单助手来制作输入字段。对于一些快速的东西,它们很方便,但是当你需要对一个元素做一些不寻常的事情(添加一些事件和 javascript,嵌入一个内联样式,禁用它)时,辅助函数会妨碍你。我更喜欢拥有真正的 HTML,因为它最终会变成这样。

【讨论】:

    【解决方案2】:

    出于各种原因,我一直使用原始 HTML,并且只有在我需要从我的类中访问它们时才在我的标签上放置一个 runat="server" 属性。

    ASP.NET 控件确实很棒,但是一段时间后人们(或者可能只是我)通常会发现它们妨碍了您,尤其是在高级场景中或者如果您正在执行一些高级 javascript。而且我们甚至还没有提到视图状态,它很容易在一个带有一些数据的中等大小的页面上占用半兆字节(!)。您只需使用原始 HTML 对页面进行更多控制。

    所以这听起来可能有点尴尬,但在使用 ASP.NET 控件一段时间后,我已经回到(大部分)原始 HTML。这有点像使用一些非常好的 WYSIWYG 编辑器,然后意识到使用它来完成高级任务实际上比使用记事本需要更多的努力。

    【讨论】:

      【解决方案3】:

      直接编写 HTML 从来都不是坏习惯。比较两者时;自己写你必须写出你认为合适的 HTML,当使用预制函数时,这些函数会为你生成它们认为合适的 HTML。我会说后者处于不良实践的边缘,具体取决于您对元素的控制程度。显然有些很好,但我发现这些函数中有很大一部分只会导致代码膨胀和/或标签汤。

      【讨论】:

        【解决方案4】:

        这确实是一个务实的选择,但线索就在名字里——他们被称为“帮手”并不是白白的。

        • 如果您要进行简单标记,请继续使用原始 HTML。
        • 如果您正在做的事情可能会因为路由规则的重组而发生变化,那么请使用帮助程序,它会负责响应这些变化。 'BeginForm' 助手就是一个很好的例子。

        像生活中的大多数事情一样,使用常识。

        【讨论】:

          【解决方案5】:

          HTML 助手将通过为您动态创建 html 来帮助您。 如果您决定重命名控制器,Html.BeginForm 会自动为您输出正确的 actionurl(一些重载比其他重载更具动态性)。如果您对 actionurl 进行硬编码,当然您将不得不做更多的代码更改。对于 Htmlhelper 和 Webform 控件都是如此。他们只是更有活力。在许多情况下,它们只是为您节省了大量重复的 html 代码,请参阅 mvc grid 或 gridview。

          【讨论】:

            【解决方案6】:

            当我第一次从事 MVC 工作时,我尝试使用 Html Helpers 甚至创建自己的帮助程序。然而,当我尝试在我的应用程序中使用 JQuery/Ajax 时,我倾向于使用越来越多的原始 HTML。我不认为使用原始 HTML 是一种不好的做法。如果您想在客户端进行更多控制,原始 HTML 对我来说似乎是更简单的方法。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-04-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多