action里面分页代码参考:
using MvcSimplePager;
public async Task<ActionResult> CheckHistory(ArticleWhere where, int pageIndex = 1, int pageSize = 10)
{
ViewBag.search = where;
var page = await articleBll.PageMyHistoryAsync(2, where, CurrentLoginUser, pageIndex, pageSize);
var pageList = PagedListModelExtension.ToPagedList(page.List, pageIndex, pageSize, page.Total);
return View(pageList);
}
history.cshtml页面参考
<!--分页组件-->
@Html.Pager(Model.Pager, p =>
{
string query =
"Remark=" + where.Remark
+ "&SendTime=" + start
+ "&SendTimeEnd=" + end
+ "&ArticleStatus=" + where.ArticleStatus
+ "&Title=" + where.Title;
return $"/article/CheckHistory?pageIndex={p}&pageSize=10&{query}";
}, "_PagerPartial")
创建分页局部页_PagerPartial.cshtml
<!-- 分页组件开始 -->
@using MvcSimplePager
@model IPagerModel
<style type="text/css">
.pagination { margin-top: 5px; margin-bottom: 5px; }
.pagination li { display: inline-block; margin: 5px; }
.pagination li a { border: 1px solid #c6c6c6; padding: 6px 12px; color: #000 !important; }
.pagination li { font-size: 16px; }
.pagination .disabled { display: none; }
.pagination .active { font-weight:bold;font-size:18px;color:#ff0000;}
</style>
<div style="clear:both;"></div>
<div style="margin-bottom:50px;">
<div style="display:inline-block;color:#464646;">
<span>每页有<g>@Model.PageSize</g>条,共<g>@Model.PageCount</g>页,总计<g>@Model.TotalCount</g>条数据</span>
</div>
@if (Model.TotalCount > 0)
{
if (Model.PageCount < 2 && Model.PagingDisplayMode == PagingDisplayMode.IfNeeded)
{
}
else
{
int offset = (Model.GroupSize) / 2, temp = 0;
int pageStart = Model.PageIndex - offset, pageEnd = Model.PageIndex + offset, curPage = 0;
<div style="text-align: center;display:inline-block;">
<nav>
<ul class="pagination">
@if (Model.HasPreviousPage)
{
<li><a href='@Model.OnPageChange(Model.PageIndex - 1)' aria-label="Previous">上一页</a></li>
}
@* 当为第一页时不显示上一页按钮 *@
@*else
{
<li class="disabled">
<a href="javascript:void(0)" aria-label="Previous">上一页</a>
</li>
}*@
@if (pageStart <= 1 && pageEnd >= Model.PageCount)
{
for (var i = 0; i <= Model.GroupSize; i++)
{
curPage = pageStart + i;
if ((curPage >= 1) && (curPage <= Model.PageCount))
{
if (curPage == Model.PageIndex)
{
<li class="active">@Model.PageIndex</li>
}
else
{
<li><a href='@Model.OnPageChange(curPage)'>@curPage</a></li>
}
}
}
}
else
{
if (pageStart > 1)
{
<li><a href='@Model.OnPageChange(1)'>1</a></li>
<li><a href='@Model.OnPageChange(2)'>2</a></li>
<li class="disbaled">...</li>
temp = Model.PageIndex - offset / 2;
curPage = temp;
for (var i = 0; i <= offset / 2 + 1; i++)
{
curPage = temp + i;
if ((curPage >= 1) && (curPage <= Model.PageCount))
{
if (curPage == Model.PageIndex)
{
<li class="active">@Model.PageIndex</li>
break;
}
else
{
<li><a href='@Model.OnPageChange(curPage)'>@curPage</a></li>
}
}
}
}
else
{
for (var i = 0; i <= offset; i++)
{
curPage = pageStart + i;
if ((curPage >= 1) && (curPage <= Model.PageCount))
{
if (curPage == Model.PageIndex)
{
<li class="active">@Model.PageIndex</li>
break;
}
else
{
<li><a href='@Model.OnPageChange(curPage)'>@curPage</a></li>
}
}
}
}
if (pageEnd < Model.PageCount)
{
temp = Model.PageIndex + 1;
curPage = temp;
for (var i = 0; i <= offset / 2 && curPage <= Model.PageCount; i++)
{
curPage = temp + i;
if ((curPage >= 1) && (curPage <= Model.PageCount))
{
<li><a href='@Model.OnPageChange(curPage)'>@curPage</a></li>
}
}
<li class="disbaled">...</li>
<li><a href='@Model.OnPageChange(Model.PageCount - 1)'>@(Model.PageCount - 1)</a></li>
<li><a href='@Model.OnPageChange(Model.PageCount)'>@Model.PageCount</a></li>
}
else
{
curPage = Model.PageIndex;
for (var i = 0; i <= offset && curPage <= Model.PageCount; i++)
{
curPage++;
if ((curPage >= 1) && (curPage <= Model.PageCount))
{
if (curPage == Model.PageIndex)
{
<li class="active">@Model.PageIndex</li>
break;
}
else
{
<li><a href='@Model.OnPageChange(curPage)'>@curPage</a></li>
}
}
}
}
}
@if (Model.HasNextPage)
{
<li><a href='@Model.OnPageChange(Model.PageIndex + 1)' aria-label="Next">下一页</a></li>
}
@* 当为最后一页时不显示下一页按钮 *@
@*else
{
<li class="disabled">
<a href="javascript:void(0)" aria-label="Next">
下一页
</a>
</li>
}*@
</ul>
</nav>
</div>
}
}
</div>
<!-- 分页组件 结束 -->