我有一些属于某个组的项目。当您查看项目时,您将在页面的顶部框组件中看到有关其所属组的一些信息。这些项目有许多视图(简单详细信息,完整详细信息等),这个顶部组件将显示在每个视图上。
我能想到的唯一方法是:
我真的不喜欢这种方法,因为它导致GroupViewModel成为传递给所有Item视图的“超级”ViewModel。我有点像只有ItemViewModels传递Item视图,但是什么是项目视图包含这个顶级组件的干净方式?
(旁边问题:是否可以将网址结构设置为“/ Group / 12 / Item / 43”??)
答案 0 :(得分:2)
我认为你的ViewModel应该像
public class SomeViewModel
{
public Group Group { get; set; }
public List<Item> Items { get; set; }
}
当你的观点看起来像这样:
<!-- top section start -->
@Html.Partial("Details", Model.Group)
<!-- top section end -->
@foreach (Item item in Items)
{
@Html.DisplayFor(item)
}