首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HowTo:使用MvcContrib.Pagination而不使用MvcContrib.Grid视图

HowTo:使用MvcContrib.Pagination而不使用MvcContrib.Grid视图
EN

Stack Overflow用户
提问于 2009-09-16 16:29:12
回答 1查看 5.9K关注 0票数 3

这开始是一个问题,但就像我做了一些实验一样,变成了一个解决方案!所以我想我应该和你们分享这些。我的问题是:

如何使用MvcContrib.Pagination而不使用MvcContrib.Grid视图?

我的答案如下..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-16 16:29:40

我正在构建一个帮助服务台票务系统(我是一个C#新手-从NerdDinner获得了很多提示),我希望使用某种分页库来帮助查看。我找到了MvcContrib.Pagination,我让它去看风景。我的视图不使用MvcContrib.Grid,因为它是自定义的。

缩小版本的“我的视图”( my List.aspx ):

代码语言:javascript
复制
<%@ 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>

我的控制器(部分) TicketController.cs

代码语言:javascript
复制
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文件的一部分:

代码语言:javascript
复制
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

:)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1434068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档