使用@ Html.EditorForModel()而不用mvc程序集污染我的域实体

时间:2012-04-10 20:10:08

标签: asp.net-mvc asp.net-mvc-3 editorformodel

是否可以使用@Html.EditorForModel()方法,但不会污染我的域实体,例如产品HiddenInputDataType(MultiLine)等。需要System.Web.Mvc程序集的属性?< / p>

2 个答案:

答案 0 :(得分:1)

是的,但是它会使用默认值进行渲染 例如:字符串将是一行文本框。

无法将此元数据放在其他位置。 (除非您自己编写新的HTML帮助程序。)

我们通常做的是,为每个域实体使用ViewModel,然后我们放置元数据。

答案 1 :(得分:0)

我通常有两个模型 - 一个是域实体,另一个是具体包含我想要的属性。然后我在他们两个之间进行映射/复制。我有一个简单的类,可以自动将属性从一个对象复制到另一个对象,但您可以手动执行此操作或使用Automapper之类的内容。然后你对这个新模型使用@ Html.EditorFor。