2012-08-03 20 views
0

我目前有一個_layout.cshtml我的網站的每一頁使用。
我需要在每個頁面上顯示一個窗體作爲popin。
所以,我用相應的ViewModel創建了一個新的PartialView(我的表單的內容),並在_layout.cshtml中調用它。然而,我有一個使用佈局和新窗體使用的ViewModel ViewModel之間的模型衝突(因爲我們不能直接有兩個模型爲同一視圖)之間的模型衝突。我們如何在_layout中包含表單?

傳入字典的模型項目類型爲'XXX',但此 字典需要一個'YYY'類型的模型項目。

我們如何在_layout中包含一個沒有此衝突的表單?

+0

你是如何在_layout.cshtml中調用PartialView的? – FosterZ 2012-08-03 13:23:03

+0

@ {Html.RenderPartial(「_ Partner」); } – Spilarix 2012-08-03 13:32:34

+0

試試這個'@ Html.Partial(「_ Partner」)' – FosterZ 2012-08-03 13:38:49

回答

1

下面的內容適用於我,每頁都有一個側邊欄。

  1. 您的局部視圖
  2. 創建一個控制器,該控制器中,創建要返回視圖的方法,並且一定要使用[ChildActionOnly]過濾

    public class PartialController : Controller 
    { 
        [ChildActionOnly] 
        public PartialViewResult Alerts() 
        { 
    
         return PartialView("Alerts", messages); 
        } 
    } 
    
  3. 在你_layout視圖,你可以有以下幾種:

    @Html.Action("Alerts", "Partial") 
    

    (而不是@ Html.RenderPartial或@ Html.Partial)

  4. 這聽起來像你已經有你需要的視圖。

我還沒有用過這個表單,但它應該工作類似。希望這可以幫助。

+0

要通過與RenderAction/Action的控制器是好主意:-)謝謝! – Spilarix 2012-08-03 14:35:41

相關問題