JS:

 /// <reference path="../knockout-3.2.0.js" />
 var ViewModel = function (data) {
     var self = this;
     self.ObjectList = ko.observableArray(data.ObjectList)
     self.TotalCount = ko.observable(data.TotalCount);
     self.PerCount = ko.observable(data.PerCount);
     self.pageIndex = ko.observable(data.Index);
     self.btns = ko.observableArray();
     var getData = function (wantIndex) {
         $.getJSON("/BaseInfor/GetList",
            {
                pageIndex: wantIndex, pageSize: self.PerCount()
            },
       function (data) {
           self.ObjectList(data.ObjectList);
           self.TotalCount(data.TotalCount);
           self.PerCount(data.PerCount);
           self.pageIndex(data.Index);
       });
     }
     self.btnClick = function (item) {
         getData(item);
     }
     self.perPageClick = function () {
         ;
         ) return;
         getData(wantIndex);
     }
     self.nextPageClick = function () {
         ;
          > (self.TotalCount() / self.PerCount())) return;
         getData(wantIndex);
     }
     self.firstPageClick = function () {
         getData();
     }
     self.lastPageClick = function () {
         getData(self.pageTotal());
     }

     ko.computed(function () {
         self.pageTotal = ko.observable(Math.ceil((self.TotalCount() / self.PerCount())))
         var pageCount = self.pageTotal();
         ) >  ? self.pageIndex() -  : ;
         ) < pageCount ? start +  : pageCount;
         if (end == pageCount)
         { ) >  ? pageCount -  : ;; }
         self.btns.removeAll();
         for (var i = start; i < end; i++) {
             self.btns.push(ko.mapping.fromJS(i + ));
         }
     });
 }
 $(document).ready(function () {
     $.getJSON("/BaseInfor/GetList",
          {
              pageIndex: , pageSize:
          },
         function (data) {
             ko.applyBindings(new ViewModel(data));
         });
 });

HTML:

 <table class="table table - striped">
     <thead>
         <tr>
             <th>姓名</th>
             <th>性别</th>
             <th>出生年月</th>
             <th>年龄</th>
             <th>民族</th>
             <th>身份证号</th>
             <th>入党时间</th>
             <th>工作时间</th>
             <th>籍贯</th>
             <th>出生地</th>
             <th>证件照</th>
         </tr>
     </thead>
     <tbody>
         <!-- ko foreach: ObjectList -->
         <tr>
             <td data-bind="text:Name"></td>
             <td data-bind="text:Gender"></td>
             <td data-bind="text:BirthDate"></td>
             <td data-bind="text:Age"></td>
             <td data-bind="text:Nation"></td>
             <td data-bind="text:IDNumber"></td>
             <td data-bind="text:PartyTime"></td>
             <td data-bind="text:WorkTime"></td>
             <td data-bind="text:hail"></td>
             <td data-bind="text:BirthAddress"></td>
             <td data-bind="text:Photo"></td>
         </tr>
         <!-- /ko -->
     </tbody>
 </table>
 <div class="btn-toolbar" role="toolbar">
     <div class="btn-group">
         <input class="btn btn-success" type="button" value="<" data-bind="click:perPageClick" />
     </div>
     <div class="btn-group">
        <input class="btn btn-success" type="button" data-bind="value:'1',click:firstPageClick" />
     </div>
     <div class="btn-group">
         <!-- ko foreach: btns -->
         <!-- ko if: $data==$parent.pageIndex() -->
         <button class="btn btn-success" type="button" data-bind="text:$data,click:$parent.btnClick"></button>
         <!-- /ko -->
         <!-- ko ifnot: $data==$parent.pageIndex() -->
         <button class="btn btn-default" type="button" data-bind="text:$data,click:$parent.btnClick"></button>
         <!-- /ko -->
         <!-- /ko -->
     </div>
     <div class="btn-group">
         <input class="btn btn-success" type="button" data-bind="value:pageTotal,click:lastPageClick" />
     </div>
     <div class="btn-group">
         <input class="btn btn-success" type="button" value=">" data-bind="click:nextPageClick" />
     </div>
     <div class="btn-group">
         <span  data-bind="text:TotalCount()+'条数据'" />
     </div>
 </div>
 <script src="/Scripts/jquery-2.1.1.min.js"></script>
 <script src="/Scripts/knockout-3.2.0.js"></script>
 <script src="/Scripts/knockout.mapping.js"></script>
 <script src="/Content/Plus/bootstrap-3.2.0-dist/js/bootstrap.min.js"></script>
 <link href="/Content/Plus/bootstrap-3.2.0-dist/css/bootstrap.min.css" rel="stylesheet" />
 <script src="/Scripts/BaseInfor/List.js"></script>

基于KO+bootstrap+MVC的分页控件的更多相关文章

  1. 基于存储过程的MVC开源分页控件--LYB.NET.SPPager

    摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件MVCPager(http://www.webdiyer.com/)算 ...

  2. 基于存储过程的MVC开源分页控件

    基于存储过程的MVC开源分页控件--LYB.NET.SPPager 摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件M ...

  3. 一个Bootstrap风格的分页控件

      http://www.cnblogs.com/wangwei123/p/3682626.html 主题 jQueryBootstrap 一个Bootstrap风格的分页控件,对于喜欢Bootstr ...

  4. Mvc自定义分页控件

    MVC开发分页常常使用第三方控件,生成的分页HTML带有版权申明,虽然免费,但是总有的别扭.于是,某日,楼主闲来蛋疼,折腾了个自定义分页控件: 先来展示下效果图: 1>当分页不超过10页的时候, ...

  5. Net MVC轻量级分页控件

    JPager.Net MVC超好用轻量级分页控件   JPager.Net  MVC好用的轻量级分页控件,好用到你无法想象,轻量到你无法想象. JPager.Net  MVC好用的轻量级分页控件,实现 ...

  6. 基于jquery扩展漂亮的分页控件(ajax)

    分页控件式大家在熟悉不过的控件,很多情况下都需要使用到分页控件来完成列表数据加载操作,在很多分页控件中有的编写麻烦,有的应用扩展比较复杂,有的分页控件样式比较丑陋,有的分页控件用户体验操作比较简单等等 ...

  7. bootstrap-datetimepicker:基于twitter bootstrap的日期/时间选择控件

    bootstrap-datetimepicker是一个基于twitter bootstrap的简单日期/时间选择控件. <!DOCTYPE HTML> <html> <h ...

  8. 基于C#语言MVC框架NPOI控件导出Excel表数据

    控件bin文件下载地址:https://download.csdn.net/download/u012949335/10610726@{ ViewBag.Title = "dcxx" ...

  9. MVC Page分页控件

    MVCPage帮助类 控制器代码 public ActionResult Article(int? page) { //Session["ArticleClass"] = cont ...

随机推荐

  1. python的类和对象——番外篇(类的静态字段)

    什么是静态字段 在开始之前,先上图,解释一下什么是类的静态字段(我有的时候会叫它类的静态变量,总之说的都是它.后面大多数情况可能会简称为类变量.): 我们看上面的例子,这里的money就是静态字段,首 ...

  2. 51nod 1163 最高的奖励(贪心+优先队列)

    题目链接:51nod 1163 最高的奖励 看着这题我立马就想到昨天也做了一道贪心加优先队列的题了奥. 按任务最晚结束时间从小到大排序,依次选择任务,如果该任务最晚结束时间比当前时间点晚,则将该任务的 ...

  3. HDU 1231:最大连续子序列 解题报告

    第一次写博客, 自己总结写出了一道题感觉值得保存. 自己总结的规律:求最大连续子序列, 可以先求包括第N项在内的前N项最大值, (因为每一项都求过后, 前N项最大值最大的那一个元素所连续的序列即为最大 ...

  4. 转:Ajax中的get和post两种请求方式的异同

    1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML ...

  5. Android SQLiteOpenHelper(二)

    上一篇我们已经了解了SQLiteOpenHelper 和 构造函数. 现在我们就来掌握一下:onCreate( )  onUpgrade( )  onDowngrade( ) public void ...

  6. 《Java中方法的重写》

    //方法的重写 /* 注意:方法的重写要遵循“两同两小一大”规则 “两同”即方法名相同.形参列表相同: “两小”(1)指的是子类方法返回值类型比父类方法的返回值类型更小或相等,[什么意思?] (2)子 ...

  7. C#面向对象的三大特性

    下面是面向对象的本人解析的图片可以让你们更好的理解一下!!! 一,封装: 我们可以把世界上任何一个东西都看作为一个对象,那么我们这里以人为例,一个人就肯定是一个对象了.那么封装是什么呢?封装就是这个人 ...

  8. input、button、文字的对齐水平对齐

    input.button.文字的对齐~! 1.input文本框下移的方法:padding-top ,可以解决文本框向下移. 2.input文本框和button对齐可以给他们外面加table (例如,谷 ...

  9. Windows2003系统问题:“无法加载安装程序库wbemupgd.dll,或是找不到函数OcEntry.

    “无法加载安装程序库wbemupgd.dll,或是找不到函数OcEntry.请与您的系统管理员联系.特定错误码是 0x7e;" 然后是警告框: " 无法初始化应用程序." ...

  10. Java数据结构和算法之栈与队列

    二.栈与队列 1.栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表. (1)通常称插入.删除的这一端为栈顶(Top),另一端称为栈底(Bottom). (2)当表中没有元素时称为 ...