使用PagedList作为ViewModel

时间:2013-09-22 12:37:25

标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-2

我想使用PageList。

之前:

MyClass的:

 public class Feachers
    {
  public List<Project.Models.view_Student> Players { get; set; }
        public string name { get; set; }
        public int day { get; set; }
        public int month { get; set; }
        public int year { get; set; }
     }

    }

查看:

  @model Project.Models.AllClasses.MyClass.Feachers
  ...
  // I have some drop-downlists and textbox in view. And fill my model by them (name ,day, month,…)

现在我想改变我的代码。我用了

 @model PagedList.IPagedList< Project.Models.AllClasses.MyClass.Feachers> 
在我看来是

而不是@model Project.Models.AllClasses.MyClass.Feachers。

但我丢失了我的财产(姓名,日期......)。 我应该具体工作吗?

1 个答案:

答案 0 :(得分:2)

您需要的是视图模型:

public class FeachersViewModel
{
    public IPagedList<Project.Models.view_Student> Players { get; set; }
    public string name { get; set; }
    public int day { get; set; }
    public int month { get; set; }
    public int year { get; set; }
}

并且您的视图将强烈输入此视图模型:

@model FeachersViewModel

现在,在视图中,您可以使用@Model.Players属性作为PagedList。现在剩下的就是调整你的控制器动作来填充并将视图模型传递给视图而不是你的域模型(这是最佳实践)。