如何使用一个局部视图显示两个不同视图模型的类似数据?

时间:2011-11-21 04:16:38

标签: asp.net-mvc-3

我想渲染部分视图如下:

The viewModel for book.cshtml looks like:
public class EditViewModel
{
    public Status Status { get; set; }
    public Book Book { get; set; }
}
In the book.cshtml file:
@{ Html.RenderPartial("~/Views/Shared/_Tracking.cshtml", Model.Book); }

The viewModel for magazine.cshtml looks like:
public class EditViewModel
{
    public Status Status { get; set; }
    public Magazine Magazine { get; set; }
}
In the magazine.cshtml file:
@{ Html.RenderPartial("~/Views/Shared/_Tracking.cshtml", Model.Magazine); }

Book和Magazine类都来自基类:

 public class PubBase 
   {
        public string PubDate { get; set; }
   }

在部分视图中,我想表明:

@model ????
@Html.LabelFor(model => model.PubDate)

我尝试了一些不同的东西,例如将Model.Book和Model.Magazine转换为具有PubDate但却给我错误的视图模型。有没有办法实现这个。我最近看到一些关于此的帖子,但我不认为它适用于我的情况。我希望我能得到一些建议。

谢谢,

理查德

1 个答案:

答案 0 :(得分:0)

使用PubBase作为视图的模型

@model PubBase