2015-01-21 74 views
0

我目前正在研究一個ASP.Net MVC項目,並使用剃刀視圖。 我有一個控制器的操作;說行動A有自己的剃刀視角;說視圖A.剃刀查看孤獨和內部另一個剃刀視圖,什麼是最佳實踐?

另外,我有另一個控制器的行動;行動B,並有自己的剃刀視圖;查看B.

現在,我想在剃刀視圖B中有剃刀視圖A;而不是複製視圖B中的所有視圖A內容以避免重複代碼。

你有什麼建議?

任何想法,將不勝感激。

+1

看部分視圖(使用'@ Html.Partial()'或'@ Html.Action()')來重複跨越的內容多個視圖。 – 2015-01-21 11:31:43

回答

2

B.cshtml呼叫

@Html.Partial("A.cshtml", modelForA) 
+0

感謝詹姆斯的回覆,但我有模型A的視圖A,和另一個模型B其中包括模型A.共享視圖的模型將會是什麼? – MarwaAhmad 2015-01-21 11:43:08

+0

@MarwaAhmad'modelB.modelA' – James 2015-01-21 11:59:19

+0

James,那麼共享視圖模型將是:** @ modelA Model ** **或** @ modelB ** ** PS:如果我通過ModelA,那麼當我將數據發佈到動作B那麼模型B的數據將不存在!我應該發送整個父模型,即模型B.如果我讓共享的視圖是ModelB,那麼ActionA應該將額外的數據發送到該共享視圖,而不僅僅是ModelA。找到了我? – MarwaAhmad 2015-01-21 13:56:06

1

如果沒有模型,然後通過內部B.cshtml呼叫在使用(不需要.cshtml)

@Html.Partial("A") 

與模型

@Html.Partial("A", @Model.SubModel) 
+0

感謝Manoj的回覆,但我有兩種不同的型號。 – MarwaAhmad 2015-01-21 11:42:24

+0

你從哪裏得到這些模型?父母模型?然後只傳遞整個父模型 – Moji 2015-01-21 11:54:40

+0

是的Manoj,則共享視圖模式將是: @模型MODELA 或 @模型ModelB PS: 如果我傳遞MODELA然後當我的數據發佈到動作乙那麼模型B的數據將不存在!我應該發送整個父母,即Model B. 如果我讓共享的視圖是ModelB,那麼ActionA應該不僅向ModelA發送額外的數據到共享視圖。 找到了我? – MarwaAhmad 2015-01-21 13:51:15