namespace System.Web.Mvc
{
public interface IPagedList
{
int TotalPage //总页数
{
get;
} int TotalCount
{
get;
set;
} int PageIndex
{
get;
set;
} int PageSize
{
get;
set;
} bool IsPreviousPage
{
get;
} bool IsNextPage
{
get;
}
}
public class PagedList<T> : List<T>, IPagedList
{ public PagedList(IQueryable<T> source, int? pageIndex, int? pageSize)
{
pageIndex = pageIndex == null ? 1 : pageIndex;
PageSize = PageSize == null ? 20 : PageSize;
this.PageIndex = pageIndex.Value;
this.PageSize = pageSize.Value;
this.TotalCount = source.Count();
this.AddRange(source.Skip((pageIndex.Value - 1) * pageSize.Value).Take(pageSize.Value));
}
#region IPagedList 成员 public int TotalPage
{
get { return (int)System.Math.Ceiling((double)TotalCount/PageSize) ;}
} public int TotalCount
{
get;
set;
} public int PageIndex
{
get;
set;
} public int PageSize
{
get;
set;
} public bool IsPreviousPage
{
get { return PageIndex > 1; }
} public bool IsNextPage
{
get { return PageIndex * PageSize < TotalCount; }
} #endregion
}
public static class Pagination
{
public static PagedList<T> ToPagedList<T>(this IQueryable<T> source, int? pageIndex, int pageSize)
{
return new PagedList<T>(source, pageIndex, pageSize);
}
public static PagedList<T> ToPagedList<T>(this IQueryable<T> source, int? pageIndex)
{
return new PagedList<T>(source, pageIndex, 20);
}
}
}以上是写的分页功能,下面是调用代码
var model = information_Content_BLL.Get();
if (!string.IsNullOrEmpty(keyWord))
{
model = model.Where(a => a.Title.Contains(keyWord));
}
return View(model);红色部分本应该是model.ToPagedList(pageIndex),
但是现在却怎么也出不来,请问是还需要其它的设置 吗,本人刚学mvc模式没多久
解决方案 »
- 请各位帮忙 小弟要做一个摄影工作室的网站
- SQL Server 不存在或访问被拒绝,急求!!!谢谢了啊~~
- vb后台创建SESSION问题
- 调用web service返回的字符串,该如何分页
- 如何实现基于cookie的自动登录更能?
- 在asp.net里提交不了表单???
- 怎样判定<%# databinder.eval(container.dataitem,"reply")%>值是否存在?
- 如何取得datagrid选择的行的第一列和第二列的值
- dropdownlist有没有即可选择又可以人工填写属性?
- 实在没辙了,思归大哥请进,各位高手请进
- 在线求助:jquery validate错误信息显示在当前文本框内,怎么设置呢?
- treeView与XML
分页