您的位置:首页 > 其它

mvc 分页PagedList简单使用

2016-07-18 13:59 274 查看
1.nuget下载PagedList包

2.PageListHelper类:

using PagedList;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ClothMvcApp.Helper
{
public class PageListHelper<T>
{
public IPagedList<T> PageList { get; set; }

public string Controller { get; set; }

public string Action { get; set; }

public string Key { get; set; }
}
}


3.创建一个部分页_PagedListPartial.cshtml

<div class="page-box">
@{

int pageIndex = 1;
int pageSize = 1;

if (Model.PageList != null)
{
pageIndex = Model.PageList.PageNumber;

pageSize = Model.PageList.PageSize;

<span>共<span style="color:orange;font-weight:bold;">@Model.PageList.TotalItemCount</span>条    共<span style="color: orange; font-weight: bold;">@Model.PageList.PageCount</span>页</span>

<a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = 1,pageSize=Model.PageList.PageSize,key=Model.Key })">首页</a>

if (Model.PageList.HasPreviousPage)
{
<a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = (Model.PageList.PageNumber - 1), pageSize = Model.PageList.PageSize, key = Model.Key })">上一页</a>
}

<select onchange="changePageSize(this)" style="width:70px;">
@{
for (int i = 1; i <= 10; i++)
{
<option value="@(i*5)" @(Model.PageList.PageSize == i*5 ? "selected" : "")>@(i*5)</option>
}
}
</select>

if (Model.PageList.HasNextPage)
{
<a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = (Model.PageList.PageNumber + 1), pageSize = Model.PageList.PageSize, key = Model.Key })">下一页</a>
}

<a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = Model.PageList.PageCount, pageSize = Model.PageList.PageSize, key = Model.Key })">末页</a>
}
}

</div>

<script type="text/javascript">

function changePageSize(obj)
{
var pageSize = obj.value;
window.location = "/Admin/@Model.Controller/@Model.Action?pageIndex=@pageIndex&pageSize="+pageSize+"&key=@Model.Key"

}

function search() {
var key = document.getElementById("key").value;
window.location = "/Admin/@Model.Controller/@Model.Action?pageIndex=1&pageSize=@pageSize&key=" + key;

}

</script>


4.Index页面调用:

@using ClothMvcApp.EF;
@using ClothMvcApp.Helper;
@{
Layout = null;
var list = ViewBag.data as PagedList.IPagedList<ClothMvcApp.EF.Product>;
}


@Html.Partial("_PagedListPartial", new PageListHelper<ClothMvcApp.EF.Product>() { Controller = "Cloth", Action = "Index", Key = ViewBag.key, PageList = list })
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: