其中一个新功能ASP.NET MVC 2预览版是编辑模板的概念,并显示模板,让你可以支持预先定义给定对象将如何呈现的显示或编辑用一个简单的HTML助手呼吁:ASP.NET MVC 2 - 当使用模板VS何时使用局部视图
<%=Html.EditorFor(customer => customer) %>
<%=Html.DisplayFor(customer => customer) %>
这是很酷,但我实在不明白这和部分观点有异曲同工之妙的区别。此外,在示例中,我看到“编辑器模板”不包含实际的表单标记,并且如果需要为给定编辑器提供某些客户端功能(例如通过jQuery),我无法安全地将该代码放入模板,因为我不会在客户端添加逻辑的表单上有一个静态句柄。在我正在处理的应用程序中,我使用编辑模板和部分视图的混合编辑内容。根据表单的复杂性,我创建了一个编辑器,因为我选择了另一种方法,但是这当然会给应用程序增加不希望的不一致程度。
为什么要使用模板在局部视图或反之亦然?此外,使用编辑器模板时,将编辑器添加客户端逻辑而不将其复制到使用该编辑器的每个视图中的理想方式是什么?
我看了谷先生的职位,并解释说,EditorFor既可用于个人领域和全对象使用。我指的是上述情况中的后一种情况。 – 2009-08-20 20:38:18
噢好吧。他在帖子中说明了这一点的目的:“默认情况下,它会遍历对象的公共属性并生成一个元素,并为它找到的每个属性生成任何适当的验证消息。”所以它会自动为对象的所有属性生成输入。在对象上,您可以在属性上设置UIHints以使用特定属性的自定义控件。我会稍微更新我的答案。 – Runeborg 2009-08-20 22:14:27
所以说,当我调用EditorFor(SomeObject)时,我不需要显式定义模板,只要不需要像处理自定义字段那样执行任何特殊操作即可。 – 2009-08-20 23:57:03