我有一个数据库,我通过实体框架连接到这个数据库。我的主视图由许多局部视图组成,这些视图显示应用程序的不同部分。在我的控制器中,我想将包含所有这些不同实体数据对象的模型发送到我的视图,然后将所需的信息发送到我特定的局部视图。我相信我需要一个视图模型来做这件事,但我以前从未这样做过。让我总结一下我的目标:我有四个表: currentFav、TopTenFav、流派和歌曲我已经创建了一个存储库类,它具有一些查询功能,比如查找所有歌曲、添加歌曲等。我的索引视图分为部分视图,如当前最受欢迎、排名前十和流派。
我的问题是,我如何将我的模型从控制器发送到我的视图,然后从那里发送到我的所有局部视图,有人有想法吗?thx
发布于 2011-11-01 19:53:42
我将如何设计您的ViewModel是为您的每个局部视图创建一个接口,以便:
interface IPartialView1 //Name it appropriately
{
currentFav CurrentFav { get; }
}
然后在你的实际ViewModel上:
class HomeViewModel : IPartialView1, IPartialView2,....
{
currentFav CurrentFav { get; set; }
}
按您认为合适的方式填充HomeViewModel,并在局部视图中:
<!-- CurrentFav-Partial.cshtml -->
@Model IPartialView1
<span>@model.CurrentFav.color</span>
这允许您创建任何您想要传递到视图中的模型,并且只要它具有每个Partials需要呈现的接口,它们就可以。对于您创建的任何类型的视图,每个ViewModel都可以通过接口包含任意数量的其他模型/类。
https://stackoverflow.com/questions/7971953
复制相似问题