2011-11-01 69 views
1

我有一个数据库,我通过它使用实体框架连接到数据库。我的主页视图包含许多显示应用程序不同部分的部分视图。在我的控制器中,我希望将包含所有不同实体数据对象的模型发送到我的视图,然后将所需信息发送到我的特定部分视图。我相信我需要一个视图模型,但从未这样做过。让我总结一下我的目标: 我有四个表格:currentFav,TopTenFav,流派和歌曲 我创建了一个存储库类,其中包含一些查询功能,例如查找所有歌曲,添加歌曲等等。 我的索引视图分为部分视图,例如当前收藏,前十名和流派。如何创建Asp.Net MVC 3查看模型

我的问题是如何将我的模型从控制器发送到我的视图,然后从那里到我所有的部分视图,任何人都有想法? THX

回答

0

我将如何设计你的ViewModel是创建您的每个部分视图的接口使得:

interface IPartialView1 //Name it appropriately 
{ 
    currentFav CurrentFav { get; } 
} 

然后在您的实际视图模型:

class HomeViewModel : IPartialView1, IPartialView2,.... 
{ 
    currentFav CurrentFav { get; set; } 
} 

填充你的HomeViewModel你认为合适的,并在你的部分观点:

<!-- CurrentFav-Partial.cshtml --> 
@Model IPartialView1 

<span>@model.CurrentFav.color</span> 

这允许你创建的任何模式l您想要传入视图,只要它具有每个Partial需要渲染的界面即可。每个ViewModel可以包含任何数量的其他模型/类,通过接口为您创建的任何类型的视图。

+0

好吧,看起来很有趣,我会给这个尝试 –

+0

一个问题,我会在哪里创建接口?在我的模型文件夹或我的意见文件夹? –

+0

为了简单起见,我建议在Model文件夹中。视图文件夹中唯一应该是html-ish文件。 –