C# 分页列表示例-ASP.NETMVC

C# 分页列表示例-ASP.NETMVC,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,分页包含列表的模型的最佳方式是什么 根据下面的模型,我希望翻阅我公司模型上的“电子邮件”。我目前正试图通过PagedList MVC实现这一点 示例模型 public class EmailModel { public Guid Id { get; set; } public string EmailMessage { get; set; } public Guid CompanyId { get; set; } } public class CompanyModel

分页包含列表的模型的最佳方式是什么

根据下面的模型,我希望翻阅我公司模型上的“电子邮件”。我目前正试图通过PagedList MVC实现这一点

示例模型

public class EmailModel
{
    public Guid Id { get; set; }
    public string EmailMessage { get; set; }
    public Guid CompanyId { get; set; }
}

public class CompanyModel
{
    public Guid Id { get; set; }
    public string CompanyName { get; set; }
    public IPagedList<Email> Emails { get; set; }
}
有人能给我举一个控制器的例子来处理这个问题吗?

你有没有研究过这个问题

在页面下方大约三分之二的地方有一个标题:

向索引方法添加分页功能


控制器
给出的示例(在其上下文中)为:


看法
如果没有要显示的页面,则显示“第0页,共0页”。(在这种情况下,页码大于页数,因为Model.PageNumber为1,Model.PageCount为0。)

分页按钮由PagedListPager助手显示:

@Html.PagedListPager( Model, page => Url.Action("Index", new { page }) )

这不就是整个模型吗?i、 这相当于对CompanyModel进行分页。我只想在公司模型内翻页,然后你要寻找的是返回PartialView(…)而不是返回View(…),以及将Actionresult名称更改为其他名称else@tere然后再修改标题。。。
using PagedList;
...
...
public ViewResult Index(string sortOrder, string currentFilter, string searchString, int? page)
{
   ViewBag.CurrentSort = sortOrder;
   ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
   ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";

   if (searchString != null)
   {
      page = 1;
   }
   else
   {
      searchString = currentFilter;
   }

   ViewBag.CurrentFilter = searchString;

   var students = from s in db.Students
                  select s;
   if (!String.IsNullOrEmpty(searchString))
   {
      students = students.Where(s => s.LastName.ToUpper().Contains(searchString.ToUpper())
                             || s.FirstMidName.ToUpper().Contains(searchString.ToUpper()));
   }
   switch (sortOrder)
   {
      case "name_desc":
         students = students.OrderByDescending(s => s.LastName);
         break;
      case "Date":
         students = students.OrderBy(s => s.EnrollmentDate);
         break;
      case "date_desc":
         students = students.OrderByDescending(s => s.EnrollmentDate);
         break;
      default:  // Name ascending 
         students = students.OrderBy(s => s.LastName);
         break;
   }

   int pageSize = 3;
   int pageNumber = (page ?? 1);
   return View(students.ToPagedList(pageNumber, pageSize));
}
@Html.PagedListPager( Model, page => Url.Action("Index", new { page }) )