c# - HowTo : Using MvcContrib. 不使用 MvcContrib.Grid View 的分页

标签 c# asp.net-mvc pagination

这开始是一个问题,但在我做了一些实验后变成了一个解决方案!所以我想我会和大家分享这个。我的问题是:

如何在不使用 MvcContrib.Grid View 的情况下使用 MvcContrib.Pagination?

我的答案如下...

最佳答案

我正在构建一个帮助台票务系统(我是一个 C# 新手 - 从 NerdDinner 那里得到了很多建议)并且我希望使用某种分页库来帮助查看。我找到了 MvcContrib.Pagination 并让它为 View 工作。我的 View 不使用 MvcContrib.Grid,因为它是自定义的。

我的 View List.aspx 的缩小版:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MyProject.Areas.HelpDesk.Models.hd_Ticket>>" %>
<%@ Import Namespace="MyProject.Areas.HelpDesk.Controllers" %>
<%@ Import Namespace="MvcContrib.Pagination" %>

<h2>Help Desk Tickets (showing <%= Model.Count() %> of <%= ViewData["totalItems"] %>)</h2>     

<% foreach (var item in Model) { %>
    <h3><%= Html.Encode(item.Subject)%></h3>
<% } %>

<p><%= Html.Pager((IPagination)Model)%></p>

我的 Controller (部分)TicketController.cs:

TicketRepository ticketRepository = new TicketRepository();

public ActionResult List(int? page, int? pageSize)
{
    IPagination<hd_Ticket> tickets = null;

    int dPageSize = 50;
    int totalItems;

    tickets = ticketRepository.GetTickets().ToList().AsPagination(page ?? 1, pageSize ?? dPageSize);
    ViewData["totalItems"] = tickets.TotalItems;

    return View("List", tickets);
}

我正在使用以 IQueryable 形式返回结果的存储库模式。以下是 TicketRepository.cs 文件的一部分:

public class TicketRepository
{
    private HelpDeskDataContext db = new HelpDeskDataContext();

    public IQueryable<hd_Ticket> FindAllTickets()
    {
        return from ticket in db.hd_Tickets
               orderby ticket.CreatedDate descending
               select ticket;
    }
}

所有这些对某些人来说可能微不足道,但如果像我这样的人正在尝试学习 C# 和 ASP.NET MVC 以及分页,那么这可能会有用。我建议新手学习 NerdDinner 教程,网址为:

http://nerddinnerbook.s3.amazonaws.com/Intro.htm

:)

关于c# - HowTo : Using MvcContrib. 不使用 MvcContrib.Grid View 的分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1434068/

相关文章:

c# - 将项目从一个列表框移动到另一个列表框

c# - 在 C# Linq 中同时选择父子集合到某个模型的列表

c# - 使用 bootstrap 3 在 mvc 表单中的同一行中显示查找文本框和 2 个下拉列表

asp.net-mvc - 如何摆脱 ASP.NET MVC 中的 HTML 错误报告?

java - 分页查询/迭代器配方

javascript - 如何在代码中包含 lightbox 和 easyPaginate Javascript 库? (这可能吗?)

javascript - 将 Backbone.Collection 用于分页列表?

c# - Power BI Embedded - 嵌入图 block

c# - .Net 正则表达式匹配 $ 与字符串的结尾而不是行,即使启用了多行

asp.net-mvc - asp.net mvc 用户负载测试