2011-09-15 88 views

回答

1

为什么不使用EditorTemplate?当然,如果你打算使用不同的方式格式化相同的对象,你将不得不在调用EditorFor()时使用模板名称(所以它看起来像EditorFor(object, "TemplateName")

另一种选择是添加你自己的HTML Helper MVC源代码是开放的,所以你可以下载2/3的RTM源代码并且看看Html.TextBoxFor()是如何实现的

我认为EditorFor()是对这个问题的正确解决方案。你想用它吗?

+0

它会导致一些重复。我为我的所有文本框设置了htmlAttributes {@ class =“someClass”},并且我不想在所有EditorTemplates中重复它。 – SiberianGuy

+0

EditorTemplates应该是唯一需要添加'someClass'的地方。保持他们在那里,你所有的内联会更干净。 –

+0

我已经完成了这两种方法,'EditorFor()'更清洁。编写HtmlHelper扩展的效果很好,但需要花费更多的时间并变得棘手(您的帮手是否会使用新的客户端验证等)。 – Cymen