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模式没多久
解决方案 »
- 上传到服务器上面出现这个错误啊
- 电脑IE、IPad、3G手机都能访问的web网站如何搭建【急急急】
- 关于如何在GridView中删除多条记录的疑问
- 使用游标修改当前记录值,而不是所有的
- c# 如何把datagridview中的信息选中列所在行的信息回填到数据库中
- 弱弱的发个帖:大侠,能指点下VS2003 C#中的菜单使用吧?————一百万火急!!!
- CS0266:错误帮忙看看。多谢
- 急,怎么给formview控件的textbox控件赋值
- 如何发布asp.net 应用程序。
- 找到工作了!高兴,小散!
- 在线求助:jquery validate错误信息显示在当前文本框内,怎么设置呢?
- treeView与XML
分页