具体使用如下:

前台部分:

@RenderPage("~/Views/Controls/_Pagebar.cshtml",

    new PageBar

    {

        pageIndex = Model.CurrentPageIndex,

        recordCount = Model.TotalItemCount,

        UpdateTargetId = "expList",//此处填写需要更新的div(或其他)容器的id

        pageSize=,

        DataFormId = "Submit_Expense"//此处填写需要提交的表单的id

})

需要新建一个PagerBar类,如下:

  /// <summary>

        /// 当前页码

        /// </summary>

        public int pageIndex;

        /// <summary>

        /// 记录总条目数

        /// </summary>

        public int recordCount;

        /// <summary>

        /// 每页显示记录的数量

        /// </summary>

        public int pageSize;

        /// <summary>

        /// 更新容器的ID

        /// </summary>

        public string UpdateTargetId;

        /// <summary>

        /// 表单ID

        /// </summary>

        public string DataFormId;

  /// <summary>

        /// 访问路由

        /// </summary>

        public string RouteUrl= HttpContext.Current.Request.Url.ToString();

pagebar

控件代码

@{
//异步ajax刷新
var pageBar = (PageBar)PageData.FirstOrDefault().Value;
int pageindex = pageBar.PageIndex-;
int spitindex = ;
int pageSize = pageBar.PageSize;
var pageCount = ;
int recordCount = pageBar.RecordCount;
int pagecount = recordCount % pageSize == ? recordCount / pageSize : recordCount / pageSize + ;
var routeUrl = pageBar.RouteUrl;
var updateTargetId = pageBar.UpdateTargetId;
var dataFormId = pageBar.DataFormId;
var pageLast = pageindex > ;
var pageNext = pageindex != pagecount;
}
<style type="text/css">
.disabled {
color: # !important;
}
.disabled {
cursor: not-allowed;
}
</style>
@if (pagecount > )
{
<div class="row" style="height: 80px; ">
<div class="col-md-8 col-sm-8">
<ul class="pagination"> <li calss="@pageLast">
@if (pageLast)
{
<a href="javascript:void(0)" onclick="pageSkip(@pageindex-1)">上页</a> }
else
{
<a href="javascript:void(0)" class="disabled">上页</a>
}
</li>
@{ spitindex = pageindex - pageSize;}
@if (spitindex > pageSize)
{
<li><a href="javascript:void(0)" onclick="pageSkip(1)"></a> </li>
<li><a href="javascript:void(0)" onclick="pageSkip(@spitindex - 2)">...</a> </li>
}
else
{
for (int i = ; i < spitindex; i++)
{
<li><a href="javascript:void(0)" onclick="pageSkip(@i)">@Html.Raw(i + )</a> </li>
}
}
@for (int i = pageindex - ; i < pageindex; i++)
{
if (i >= pageindex || i < )
{
continue;
}
<li><a href="javascript:void(0)" onclick="pageSkip(@i)">@Html.Raw(i + )</a> </li>
}
<li class="active"><a href="javascript:void(0)" id="selectpage"><b>@Html.Raw(pageindex + )</b> </a></li>
@for (int i = pageindex + ; i < pagecount; i++)
{
if (i >= pageindex + pageCount)
{
break;
}
<li><a href="javascript:void(0)" onclick="pageSkip(@i+1)">@Html.Raw(i + )</a> </li>
}
@{ spitindex = pageindex + pageCount; }
@if (pagecount - pageSize > spitindex)
{
<li><a href="javascript:void(0)" onclick="pageSkip(@spitindex + 2)">...</a> </li>
<li><a href="javascript:void(0)" onclick="pageSkip(@pagecount - 1)">@pagecount</a> </li>
}
else
{
for (int i = spitindex; i < pagecount; i++)
{
<li><a href="javascript:void(0)" onclick="pageSkip(@i)">@Html.Raw(i + )</a> </li>
}
}
<li>
@if (pageNext)
{
<a href="javascript:void(0)" onclick="pageSkip(@pageindex + 1)">下页</a>
}
else
{
<a href="javascript:void(0)" class="disabled">下页</a>
}
</li> </ul>
</div>
<div class="col-md-2 col-sm-2">
<div class="input-group" style="margin: 20px 0">
<input type="text" id="pageIndexBox" class="form-control input-sm" />
<span class="input-group-btn"><button class="btn btn-primary btn-sm" onclick="goToPage()">跳转</button></span>
</div>
</div>
<div class="col-md-2 col-sm-2" style="line-height: 70px; text-align:right;">共 @pagecount 页&nbsp; @recordCount 条记录</div>
</div>
}
<script type="text/javascript"> function pageSkip(pageIndex) {
var requestUrl = '@routeUrl';
var formData = $("#@dataFormId").serialize() + "&pageIndex=" + pageIndex;
//debugger
$.post(requestUrl, formData, function (pageobj) {
$("#@updateTargetId").html(pageobj);
}, "html");
} function goToPage() {
var pageIndex = $("#pageIndexBox").val();
pageSkip(pageIndex);
}
</script>

后台部分:

采用的是MVCPager插件,暂未开发自己的插件。

最新文章

  1. 最强 Android Studio 使用小技巧和快捷键
  2. Android 如何制作九宫格图片(.9.png)
  3. Java程序设计之整数分解
  4. Leetcode #28. Implement strStr()
  5. C# - Try catch 中 使用 End()
  6. HDU-------(2795)Billboard(线段树区间更新)
  7. 【转】Python numpy库的nonzero函数用法
  8. java servlet上传文件并把文件内容显示在网页中
  9. BZOJ_1026_[SCOI2009]_windy数_(数位dp)
  10. n个灯,k个人的开灯问题
  11. [MODx] Solve cannot upload large file
  12. java笔记之静态修饰附和单例设计模式
  13. Hbuilder 常用快捷键汇总
  14. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)
  15. 【ios开发】Block编程
  16. Python中List和Tuple类型
  17. CRM牛人博客
  18. HTML杂项和HTML废弃标签
  19. linux 时钟时间,用户CPU时间,系统CPU时间 .
  20. vue装逼神器简述

热门文章

  1. php中csv文件的下载
  2. async task 异步消息
  3. tcpdump抓sql语句
  4. linux, Django安装MySQL-python==1.2.5报错
  5. IP分组交付和转发
  6. 本地yum源快速创建
  7. 38. CentOS-6.3安装配置Tomcat-7
  8. Ubuntu jdk 8 与 6 切换 (安装与配置)
  9. 列表(ul ol dl)
  10. UI5-文档-4.27-Mock Server Configuration