2012-09-09 25 views
0

我有一個關於如何在項目中使用可重用部分視圖的優點和缺點的問題。MVC項目設計,利用部分視圖的優缺點

在第一個示例中,我在所有視圖之間使用了一個佈局。在佈局中,我有一個使用Html.RenderAction("Index", "Header")調用的局部視圖。該標題根據用戶是否登錄而變化,並在每個視圖上呈現。

在第二個示例中,我在所有視圖之間使用了靜態佈局。但是,在這種佈局中沒有部分視圖被調用。標題局部視圖正在每個視圖上調用,基本上與第一個示例做了同樣的事情(根據用戶是否登錄等進行了更改)

哪種方法更好,是哪種方式正確的方法?每個的優缺點?

+0

*但是,在此佈局中沒有調用部分視圖。標題部分視圖正在每個視圖上調用... *這不矛盾嗎? – McGarnagle

+0

頁眉部分視圖正在實際視圖本身上調用,而不是在佈局視圖內調用。 – Sean

回答

1

背後的一個主要思想是不重用代碼。所以考慮到這一點,你應該在_Layout文件中有你的Header代碼。這樣它不會被重新輸入每個View,如果你需要刪除它或添加路由值等,你不必每View更新。

一個例子是在默認項目中的_LogOnPartial。在_Layout中,它由@Html.Partial("_LogOnPartial")調用,而_LogOnPartial視圖包含一個邏輯語句,該語句顯示LogOn or RegisterWelcome back...