C# MVC2 分页总出错,搞的头晕了,请高手帮忙~~~~~~~~

happyer_longlong 2010-11-05 07:13:29
1 Ctroller
public ActionResult Index(int? page)
{
///////不分页 方法
//var dinners = dinnerRepository.FindUpcomingDinners().ToList();
//return View("Index",dinners);

////分页方法
const int pageSize = 10;
var upcomingDinners = dinnerRepository.FindAllDinners();
//var paginatedDinners = upcomingDinners.Skip((page??0)*pageSize).Take(pageSize).ToList();
var paginatedDinners = new PagintedList<Dinner>(upcomingDinners, page ?? 0, pageSize);

return View(paginatedDinners);

}

2 Model
public class PagintedList<T> : List<T>
{
public int PageIndex { get; private set; }
public int PageSize { get; private set; }
public int TotalCount { get; private set; }
public int TotalPage { get; private set; }
/// <summary>
///
/// </summary>
/// <param name="source"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
public PagintedList(IQueryable<T> source, int pageIndex, int pageSize)
{
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = source.Count();
TotalPage = (int)Math.Ceiling(TotalCount / (double)PageSize);
this.AddRange(source.Skip(PageIndex * PageSize).Take(PageSize));
}

/// <summary>
///
/// </summary>
public bool HasPreviousPage
{
get
{
return (PageIndex + 1 < TotalPage);
}
}
}

3 view
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<NerdDinner.Helpers.PaginatedList<Dinner>>" %>
---
<ul>
<%foreach (var dinner in Model )
{ %>
<li>
<%=Html.ActionLink(dinner.Title, "Details", new { id=dinner.DinnerID })%>
on
<!--<%=Html.Encode(dinner.EventDate.ToString())%> -->
<%=Html.ActionLink(dinner.EventDate.ToString(),"Details" ,new { id=dinner.DinnerID})%>
@

<!--<%=Html.Encode(dinner.HostedBy )%> -->
<%=Html.ActionLink(dinner.HostedBy, "Details", new { id=dinner.DinnerID })%>

</li>
<%} %>
</ul>
<p>
<!-- <%: Html.ActionLink("Create New", "Create") %> -->

%>
</p>
<% if (Model.HasPreviousPage)
{ %>
<%=Html.RouteLink("<<<", "UpcomingDinners", new { page = (Model.PageIndex - 1) })%>
<%} %>
<%if (Model.HasNextPage)
{ %>
<%=Html.RouteLink(">>>", "UpcomingDinners", new { page = (Model.PageIndex + 1) })%>
<%} %>>


问题:
编译能通过 但是 跳转页面 /dinner/Index/1 总是提示
public class views_dinners_index_aspx : System.Web.Mvc.ViewPage<NerdDinner.Helpers.PaginatedList<Dinner>>, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {

搞不明白,奇怪了 ,请高手帮忙
...全文
216 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2010-11-06
  • 打赏
  • 举报
回复
List<SClass>lst=slst.skip(pageindex*pagesize-pagesize).take(pagesize).tolist();
没太深入使用MVC实际上不懂。
z289830131 2010-11-06
  • 打赏
  • 举报
回复
友情帮顶.. 我用的分页跟你不同哟
webdiyer 2010-11-06
  • 打赏
  • 举报
回复
错误信息没发全,无法知道什么错误,看起来象是分页的问题,分页你可以试试MvcPager

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧