2009-01-28 76 views
3

对于使用html的使用感觉很好,我发现在我的视图中使用普通html比较容易,例如,使用<input type="text" maxlength="30" name="firstname">而不是<%= html.textbox(“ firstname“)%>。或者<form method="post" name="myform">而不是<% html.beginform() { %>良好或不好的做法,使用普通的HTML在视图

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

只是我想知道,因为大多数的例子和东西我在网上看到全部使用beforementioned佣工和方法......

+0

这是特定于MVC还是一般适用于asp.net? – 2009-01-28 20:59:59

回答

3

我使用自定义窗体佣工PHP制作输入字段。对于快速的东西来说,它们很方便,但是当你需要在一个元素上做一些不寻常的事情(添加一些事件和JavaScript,嵌入一种内联样式,禁用它),辅助函数就会阻碍。我更喜欢拥有真正的HTML,因为它最终变成了什么。

1

由于各种原因,我始终使用原始HTML,并且只在我的标记上放置runat =“server”属性,如果我需要从我的类访问它们。

ASP.NET控件真的很棒,但过了一段时间,人们(或者也许只是我)通常会发现他们在用你的方式,特别是在高级场景或者你正在做一些高级的JavaScript。而且我们甚至没有提到viewstate,它可以在一个中等大小的页面上轻松地占用半个兆字节(!),并且有一些数据。您只需使用原始HTML对页面进行更多控制。

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

0

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

1

直接书写HTML绝不是坏习惯。比较两者时;自己编写代码时,必须按照您认为合适的方式编写HTML,使用预先创建的函数时,函数将为您生成适合的HTML。我想说后者正处于糟糕的实践边缘,取决于你对这些元素有多少控制。显然有些很好,但我发现这些功能的很大一部分只是导致代码膨胀和/或标签汤。

0

当我第一次使用MVC时,我试图使用Html Helpers,甚至创建自己的帮助器。但是,当我尝试在我的应用程序上使用JQuery/Ajax时,我倾向于使用越来越多的原始HTML。我不认为使用原始HTML是一种不好的做法。如果你想在客户端进行更多的控制,原始HTML似乎对我来说更容易。

1

这确实是一个实用的选择,但线索的名称 - 他们不被称为'助手'没有。

  • 如果你正在做简单的标记,那么继续使用原始HTML。
  • 如果你正在做的事情可能会改变,例如由于路由规则重组,例如,然后使用助手,它会照顾到这些变化的响应。一个很好的例子就是'BeginForm'帮手。

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