2012-02-03 137 views
1

在我的應用程序有兩種觀點,呈現與模型相同的局部視圖參數中給出,這樣的:在MVC 3中,如何從局部視圖訪問模型?

在視圖1:

@Html.Partial("_LayoutMyPartialView", new MyModel1()) 

在視圖2:

@Html.Partial("_LayoutMyPartialView", new MyModel2()) 

如何我可以在局部視圖中訪問模型以處理數據嗎?

UPDATE

我的模型不具有相同的結構。

回答

2

你的要求似乎很不同。

但仍然在這裏是推薦的設計,以達到你想要的東西(在最初的問題基於)

  1. 有一個包含模型1和模型2的實例的視圖模型,這樣你將節省不必映射2不同的充對象。

    Public class MyViewModel 
    

    { 公共MyModel1 Model1Instance {獲得;設置;} 公共MyModel2 Model2Instance {獲取;集;} }

在後來才標誌着你的看法@model與這個單一的ViewModel。當您通過控制器傳遞對象時,這將使您可以訪問部分模型。

+0

是的,這是我需要的,謝謝 – 2012-02-07 07:43:07

3

您將使用Model關鍵字來訪問你的模型,使得:

Model.UserName 

會給你對象的UserName屬性。

確保您的局部視圖是強類型太:

@model MyModel1 
+0

並且如果在我的局部視圖我有somethig這樣Model.Items.Add(新爲MyModel());;我可以用什麼替代'新的MyModel()'?由於 – 2012-02-03 14:47:03

+3

爲什麼你會在視圖裏可以增加新的項目到集合? – 2012-02-03 14:48:11

+0

它不能做呢?我有一個動態表,它需要在視圖 – 2012-02-03 14:52:45