我已经阅读了 Jimmy Bogards 关于他们如何查看模型的帖子,在我自己的项目中,我遇到了一些需要同时显示大量信息的地方屏幕,例如需要填写的表格,其中所有字段一次显示。
所以我们的视图模型看起来像
public class FormViewModel
{
public string field1 {get;set;}
public int field2 {get;set;}
public DateTime field3 {get;set;}
public string field4 {get;set;}
...snip
public string field50 {get;set;}
}
现在表单确实有部分,所以我们可以像这样在视图模型中引入一些结构:
public class FormViewModelSection1
{
public string field1 {get;set;}
public int field2 {get;set;}
}
public class FormViewModelSection2
{
public DateTime field3 {get;set;}
public string field4 {get;set;}
}
然后主视图模型变为
public class FormViewModel
{
public FormViewModelSection1 {get;set;}
public FormViewModelSection2 {get;set;}
}
因此,我们会将更复杂的视图模型返回到一个主视图,该主视图基本上只是将其每个部分委托出去,以便通过像这样的渲染部分进行渲染
<div>
My form
<%: Html.RenderPartial("soemascx", Model.FormViewModelSection1)%>
</div>
或者也许使用编辑器来呈现内容。
我的问题是,视图模型的“重组”是一件有效的事情,还是它取消了使视图模型如此平坦所提供的一些好处。