我在mvc 4中使用viewmodel概念。我正在将数据发布到db,并且帖子也在下面的网格中显示。因此,我使用了视图模型的概念。这是我的viemodel课
public class MyViewModel
{
public document upload_document { get; set; }
public IList<document> Upload_List { get; set; }
}
我在文档中有很多字段,所以我不发布字段。我看了一些文章,他们返回的是这样的:return View(students.ToList());where student is var
。但是我将在所有动作方法中返回模型。鉴于他们已经写了
@model PagedList.IPagedList<ContosoUniversity.Models.Student>
@using PagedList.Mvc;
但我认为这个
@model c3card.Dal.EDModel.MyViewModel
那么,如何返回包含pagenum,page size的模型?使用视图模型时,如何使用此分页列表概念?
如果您需要映射实体以查看模型并且仍然能够分页浏览它们,则需要使用StaticPagedList
。为了使标准使用方法PagedList
起作用,需要将其传递给可查询(未评估)的查询,以便可以将查询限制为仅提取适当数量的记录。但是,如果要映射到视图模型,则将对查询进行评估。
您需要的是这样的:
public ActionResult Students(int? page)
{
var pageNumber = page ?? 1;
var pageSize = 10;
var totalStudents = db.Students.Count();
var students = db.Students.Skip((pageNumber - 1) * pageSize).Take(pageSize);
var model = // map `students` to your view model
var pagedList = new StaticPagedList<MyViewModel>(model, pageNumber, pageSize, totalStudents);
return View(pagedList);
}
然后,您的视图模型为:
@model PagedList.IPagedList<Namespace.To.MyViewModel>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句