在使用分页时,如何使用DisplayForModel在同一页面上显示不同的ViewModel?

时间:2011-08-26 18:02:40

标签: asp.net-mvc-3

我有三个ViewModel:

  1. QuestionViewModel
  2. Theese二继承自QuestionViewModel

    1. MCQViewModel
    2. MatrixViewModel
    3. 我将QuestionViewModel列表发送到我的View,DisplayForModel呈现正确的View,它位于Shared / EditorTemplates文件夹中。

      这一切都很好用,但现在我想使用分页,一次只能显示2个QuestionViewModel。

      这是分页类:

      public class PagedData<T> where T : class
      {
          public IEnumerable<T> Data { get; set; }
          public int NumberOfPages { get; set; }
          public int CurrentPage { get; set; }
          public int CategoryID { get; set; }
      
      }
      

      PagedData看起来像这样:

      PagedData<QuestionViewModel> data = new PagedData<QuestionViewModel>();
      

      我将QuestionViewModel列表添加到PagedData的Data属性中,并将其传递给我的View。

      我应该写什么:

      @model
      

      或视图,使其呈现正确的ViewModel?

      由于

1 个答案:

答案 0 :(得分:0)

我自己找到了答案。

这样做的方法是:

    foreach(var question in Model.Data) {
    Html.Editorfor(x => question)
    }