c# - 如何在 ASP.NET CORE MVC 中正确实现分页
问题描述
在 ASP.NET Core MVC 项目中实现分页的最首选和最有效的方法是什么?
我目前有一个 .cshtml 视图,允许用户查看他们已提交的帮助台票证。就前端而言,我使用的表是 class table-responsive table-responsive-data2
。我想显示用户决定的尽可能多的条目。
在使用 ASP.NET Core MVC 时实现这一点的最佳方法是什么?
编辑:名称列将被删除,因为它是同一用户制作票
以下是整个工单实体 (Tickekt.cs):
namespace HelpDeskTicket.Models
{
public class Ticket
{
public string EmployeeId { get; set; }
public string EmployeeName { get; set; }
public int Id { get; set; }
public string Department { get; set; }
public string Title { get; set; }
[StringLength(225)]
public string TicketDescription { get; set; }
public byte[] Attachment { get; set; }
public string AttachmentName { get; set; }
public string AttachmentExtension { get; set; }
public DateTime CreatedDate { get; set; }
[Required]
public TicketStatus Status { get; set; }
}
public enum TicketStatus
{
Resolved,
InProgress,
Unresolved
}
}
//How would I modify the TicketController.cs in order to implement Pagination properly
public IActionResult MyTickets(Employee employee) => View();
解决方案
在 ASP.NET Core MVC 项目中实现分页的最首选和最有效的方法是什么?
如果您想实现服务器端分页功能,您可以在视图页面中添加分页按钮(例如“上一个”、“下一个”等),并在用户单击分页按钮时将等传递给操作方法pageIndex
。pageSize
在您的操作方法中,您可以根据用户传递的and使用Skip
and语句过滤和返回分页数据。Take
pageIndex
pageSize
var items = await source.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToListAsync();
本教程通过示例说明了如何实现分页功能,您可以参考。
推荐阅读
- angular - 浏览器在 azure app 服务托管的根 index.html 上保留一个令人困惑的 Angular 应用程序缓存版本
- jquery - CSS3 淡出/淡入文本和图像从和到透明
- flutter - 如何在 quick_actions 上使用图标
- arrays - 使用某些东西是一种不好的做法吗?.isEmpty == true
- r - fsolve 在没有解决方案时给出错误 + 帮助我回溯错误消息
- javascript - 以正确的方式调用模板
- c# - 动画总是改变对象位置
- git - 将 Git 存储库复制到具有提交历史记录的现有存储库的子目录中
- python - 没有名为“stocker”的模块
- elasticsearch - 在 Elasticsearch 中匹配两个过滤条件