2013-03-20 43 views
1

我正在學習MVC4,試圖理解控制器分離的最佳實踐。到目前爲止,我已經瞭解到,爲您的網站的每個邏輯單元設置一個控制器是很好的。因此,例如,如果我有一個包含評論,餐館和評論者的餐廳評論網站,我將添加三個匹配的控制器。每個控制器都知道如何創建實體的列表視圖(可能還有其他一些功能)。MVC 4 - 我應該在家用控制器中使用局部視圖嗎?

家庭控制器目前知道如何創建「關於」,「聯繫我們」的意見...
我希望它是主要的索引行動,以顯示前10名評論者/評論/餐館。這些「前10名」列表與專用控制器中的相應列表有不同的外觀。

所以對於評論,會是一個很好的做法,創建文件夾
視圖的局部視圖=>評論=> _ReviewsTopTen.cshtml?

回答

3

首先,我會看看你的標記,並決定是否足以要求首先拆分爲局部視圖。如果沒有,那麼保持視野本身就是完美的。爲了它而抽象的東西沒有意義。

如果您確實需要局部視圖,並且只能在Home控制器中使用,那麼正確的位置應該是Views> Reviews> _ReviewsTopTen.cshtml。

但是,如果partial中的標記與您網站的另一部分相同,並且只是css樣式不同,那麼您應該在Views> Shared中創建一個局部視圖,以便它可以用於多個控制器視圖。

0

我認爲控制器邏輯分離的最佳實踐(此視圖僅在歸屬位指示的索引操作中使用)是使用@Html.Action()方法在家裏視圖爲每個邏輯單元u需要顯示。因此,例如,如果你需要顯示在家庭控制器視圖中的10條評論,它將是類似於@Html.Action("TopTenReviews", "Reviews(<-controller name)")

相關問題