更接近HTML ...那么为什么HtmlHelper?
我经常看到,被誉为ASP.NET MVC的一大优点,它让你更接近实际的页面标记,而不是WebForms的伪标记。更接近HTML ...那么为什么HtmlHelper?
如果是这样的话,为什么HtmlHelper存在?这似乎是所有这LabelFor
,TextBoxFor
东西是一样多的伪标记<asp:Label>
和<asp:TextBox>
在WebForms中。
我错过了什么?为什么有一个HtmlHelper类?人们在现实生活中使用它吗?
虽然你说得对,HtmlHelper函数会抽象出所呈现的确切标记,但其最大的好处是视图更多DRY,并且您可以将必要参数传递给函数以便自定义生成的HTML。
而不是必须手动输出完整的<input />
标记,完成value=<%= Model.Property %>
,Html.TextBoxFor
是输出相同的东西更简洁的方式。和所有DRY方法一样,如果您需要更改应用程序中所有文本框的HTML(例如输出新属性),则只需更改HtmlHelper方法即可。
他们在我看来有点像简单,轻量级的局部视图,只是设计用于输出一些一致的HTML给予一些输入。
HTML助手的目的是消除繁琐且重复的<input>
标签。
与服务器端控件不同,HTML助手会发出原始的(相当可预测的)HTML。
它简化了这些的创建并允许它们被强烈命名。当然人们用这个!
我不完全同意答案,我总觉得和你一致。
您可以将帮助器视为预构建的自定义控件,如果您希望生成一些代码,则可以使用帮助器,如果您想要一个干净的方法并靠近html,则不要。
这里重要的一点是,MVC允许你接近html,但并不仅限于此。
您可以创建自己的助手来创建所需的标记,然后使用它。
在这一天结束时,它归结为自己的喜好,你可以选择或不选择更接近HTML
这是现实生活? – jfar 2011-02-04 04:33:56