在MVC 3中,如何从局部视图访问模型?

时间:2012-02-03 14:41:56

标签: asp.net-mvc razor asp.net-mvc-partialview

在我的应用程序中,我有两个视图,它们使用参数中给出的模型呈现相同的局部视图,如下所示:

在View1中:

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

在View2中:

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

如何在局部视图中访问模型以使用数据?

更新

我的模型没有相同的结构。

2 个答案:

答案 0 :(得分:3)

您将使用Model关键字访问您的模型,以便:

Model.UserName

会为您提供该对象的UserName属性。

确保您的部分视图也是强类型的:

@model MyModel1

答案 1 :(得分:2)

您的要求似乎非常不同。

但仍然是推荐的设计来实现你想要的(基于初始问题)

  1. 有一个包含Model1和Model2实例的ViewModel,这样就可以节省映射2个不同对象的时间。

    Public class MyViewModel
    
         

    {   public MyModel1 Model1Instance {get; set;}   public MyModel2 Model2Instance {get; set;}   }

  2. 稍后只需使用此单个ViewModel标记您的视图@model。这将使您在通过控制器传递对象时可以访问部分中的两个模型。