在ASP.NET MVC中使用类型为另一个ViewModel的属性的ViewModel是不好的做法

ste*_*776 8 c# asp.net asp.net-mvc asp.net-mvc-3

拥有一个具有另一个视图模型属性的视图模型会被认为是不好的做法吗?...如:

public class PersonViewModel
{
     public PersonJobViewModel Peron { get; set;}
     //other properties here...
}
Run Code Online (Sandbox Code Playgroud)

编辑

更多关于我的具体情况:

我有一个视图模型,目前包含2个域类.我将此viewmodel传递给一个加载2个局部视图的视图(一个用于viewmodel中的每个域类)

因此,我最终将纯域模型直接传递到局部视图中.

我的想法是,我可以为每个域模型创建一个视图模型,然后将这些2包装到另一个传递给我父模型的视图模型中...

或者有更好的方法来实现这一目标吗?

Dar*_*rov 12

不,它一点都不差.这是完美的代码.它允许您在不同视图之间重用部分视图模型.

  • 组合和代码重用的一个例子. (5认同)

CAb*_*ott 6

我不认为我认为将一个ViewModel聚合在另一个ViewModel中是不好的做法.我可以看到一个优势,比如能够渲染局部视图或使用EditorFor聚合视图模型.