2011-11-01 70 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文件。 –