这开始作为一个问题,而是变成了一个解决方案,我做了一些尝试! 所以,我想我会与大家分享。 我的问题是:
如何使用MvcContrib.Pagination不使用MvcContrib.Grid查看?
我的回答是低于...
这开始作为一个问题,而是变成了一个解决方案,我做了一些尝试! 所以,我想我会与大家分享。 我的问题是:
如何使用MvcContrib.Pagination不使用MvcContrib.Grid查看?
我的回答是低于...
我建立一个帮助台售票系统(我种的C#新手 - 有许多指针从NerdDinner范例),我想使用某种分页库,以帮助该视图。 我发现MvcContrib.Pagination,我得到它的视图中工作。 我的看法不使用MvcContrib.Grid,因为它是定制的。
缩减我的看法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>
我的控制器(部分)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
:)