ASP.Net MVC分页组件使用MvcSimplePager执行服务器C#分页

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>
<!-- 分页组件 结束 -->

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王焜棟琦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值