HtmlHelper.EditorFor vs Html.TextBox vs Html输入

ml1*_*123 9 asp.net razor asp.net-mvc-3

我目前正在使用ASP.NET MVC 3 w/Razor弄湿我的脚,我对渲染HTML输入元素最合适的方式感到困惑.

在我看来,有三种方法可以为Model的属性渲染这些元素:

  1. 使用HtmlHelper EditorFor方法
  2. 使用Html.TextBox方法(用于字符串或数字值)
  3. 使用普通的html输入元素,并使用内联Razor标记将值放入元素中.

这样做的推荐方法是什么?我有点担心EditorFor方法,因为我对渲染的HTML没有任何控制权,我认为MVC框架的一个邮件目标是避免WebForms的过度抽象.

你怎么看?这是什么最好的做法?

谢谢!

Dar*_*rov 5

Html.EditorFor是首选的方式.您可以通过为给定类型编写自定义编辑器模板来控制HTML .ModelMetadata允许您控制生成的输入字段的类型.如果您需要应用其他自定义属性,还可以编写自定义元数据提供程序.