經過一段時間的谷歌搜索,我有點困惑,如何在asp mvc 3中做到這一點。如何將viewmodel傳遞給佈局/母版頁?
因此,任務是爲幾個控制器的視圖有一個共同的佈局(或主?)頁面。所有的視圖都是強類型的...這個佈局頁實際上可視化一些強類型的對象。所以,我需要將該對象傳遞給佈局頁面以將其傳遞給`Html.RenderPartial()'或在頁面中正確呈現它。
文章Passing Data to View Master Pages (C#)(雖然舊的爲mvc2)提供了一個例子,提供一個基本的抽象控制器類,將模型傳遞給ViewData
。這可能是治癒。
但是......
在某些線程我發現了一個方法可以使一個強類型的母版頁:
<%@ Master ... Inherits="System.Web.Mvc.ViewMasterPage<MyWeb.Models.Client>" %>
那麼,有沒有在MVC3同樣的方法?或者將數據傳遞到佈局頁面的唯一方法是使用ViewBag或ViewData?
在閱讀what is the best way to bind ViewModel data to master page in asp.net-mvc後,我考慮過Darin的回答,但仍然認爲這一系列觀點的佈局相同,並且沒有理由違背DRY原則。
那麼,如何將強類型對象傳遞給佈局頁面?或者我混合了一些東西?
我寫了這段時間後 - 避免查看包。 http://completedevelopment.blogspot.com/2011/12/stop-using-viewbag-in-most-places.html上發佈的主題,如果需要使用部分視圖或子操作和緩存。 –
這正是我想要的,但不確定要用我自己的雙手嘗試......雖然我開始用* Sanderson S,Freeman A.學習mvc,但是我沒有找到任何關於將模型傳遞給佈局雖然,正如我現在看到的,沒有任何東西阻止我這樣做。非常感謝 – horgh
@AdamTuliper我傾向於不使用ViewBag和ViewData,但是害怕我必須.. – horgh