• 使用Knoctout.分页


    要点:点击标签翻页部分时,pageValue自动加1.

    1、api中的方法

    public ArticleListModel Get(int page,string _class)
            {
                var list = new ArticleListModel
                    {
                        Articles = GetArticle(_class).Skip(6*(page - 1)).Take(6).ToList(),
                        CurPage = page
                    };
                //DAL.ApolloEntities entities = new ApolloEntities();
                int count = db.Articles.Count(p => p.Class == _class);
                int pages;
                if (count % 6 == 0)
                    pages = count / 6;
                else
                {
                    pages = count / 6 + 1;
                }
                list.Page = new List<PageModel>();
                //for (int i = 0; i < pages; i++)
                //{
                list.Page.Add(new PageModel { PageText = "上一页", PageValue = page - 1 });
                if (page <= pages-1)
                {
                    list.Page.Add(new PageModel {PageText = "下一页", PageValue = page + 1});
                }
                else
                {
                    list.Page.Add(new PageModel { PageText = "下一页", PageValue = page });
                }
                //}
                return list;
    
            }

    2、前台databind

    <div class="floatright">
            <div class="pagination pagination-centered">
                <ul data-bind="foreach: pages">
                    &nbsp;&nbsp;<a href="#" data-bind="click: $root.ChangePage, text: PageText"></a>&nbsp&nbsp
                </ul>
                
                            </div>
                </div>

    3、前台js处理

    <script type="text/javascript">
         function ReSizePic(ThisPic) {
             var RePicWidth = 253; //这里修改为想显示的宽度值
             var TrueWidth = ThisPic.width;    //图片实际宽度
             var TrueHeight = ThisPic.height;  //图片实际高度
             var Multiple = TrueWidth / RePicWidth;  //图片缩小(放大)的倍数
    
             ThisPic.width = RePicWidth;  //图片显示的可视宽度
             ThisPic.height = TrueHeight / Multiple;  //图片显示的可视高度
         }
         
         function ArticleViewModel() {
             var self = this;
             var lists;
             var pages;
             self.ChangePage = function (page) {
                 $.getJSON("/api/Articles", { page: page.PageValue, _class: "联合动态" },
                     function (data)
                     {
                     var i = 0;
                     $("#divID")[0].innerHTML = "";
                     $.each(data.Articles, function (i, v)
                     {
                         if (i == 3)
                         {
                             $("#divID")[0].innerHTML += "</br></br></br>";
                         }
                         
                         $("#divID")[0].innerHTML += "<a href='' id='a" + i + "' ><img id='image" + i + "' src='' onload='ReSizePic(this);' /></a>";
                         $("#divID")[0].innerHTML += "<p class='bgcolor' id='p" + i + "'></p>";
                         $("#divID")[0].innerHTML += "<p class='bgtext' id='pl" + i + "'></p>";
    
                         $("#a" + i).attr({ href: "/ReceptionArticle/Details/" + v.Id });
                         $("#image" + i).attr({ src: v.Img });
                         $("#p" + i)[0].textContent = v.Title;
                         $("#pl" + i)[0].textContent = v.Time.toString().substring(0, 9);
                         i++;
                     }
                     );
                     
                     self.pages.removeAll();
                     $.each(data.Page, function (i, v) {
                         self.pages.push(v);
                     });
    
                 });
             };
         }
    
         var viewModel = new ArticleViewModel();
         $.getJSON("/api/Articles", { page: 1, _class: "联合动态" }, function (data) {
             var i = 0;
             $("#divID")[0].innerHTML = "";
             $.each(data.Articles, function (i, v) {
                 if (i == 3) {
                     $("#divID")[0].innerHTML += "</br></br></br>";
                 }
                 
                 $("#divID")[0].innerHTML += "<a href='' id='a" + i + "' ><img id='image" + i + "' src='' onload='ReSizePic(this);' /></a>";
                 $("#divID")[0].innerHTML += "<p class='bgcolor' id='p" + i + "'></p>";
                 $("#divID")[0].innerHTML += "<p class='bgtext' id='pl" + i + "'></p>";
    
                 $("#a" + i).attr({ href: "/ReceptionArticle/Details/" + v.Id });
                 $("#image" + i).attr({ src: v.Img });
                 $("#p" + i)[0].textContent = v.Title;
                 $("#pl" + i)[0].textContent = v.Time.toString().substring(0, 9);
                 i++;
             });
             viewModel.lists = ko.observableArray(data.Articles);
             viewModel.pages = ko.observableArray(data.Page);
             ko.applyBindings(viewModel);
         });
        </script>
  • 相关阅读:
    centos7-关闭 rpcbind 服务
    nginx进行获取阿里云slb真实ip配置操作
    rsync同步时,删除目标目录比源目录多余文件的方法(--delete)
    nfs安装
    Selenium+PhantomJS使用时报错原因及解决方案
    python json转对象 指定字段名称
    大地坐标系和空间直角坐标系的转换
    python日志输出的内容修改为json格式
    Java String的intern方法
    python 超时重试的方法 signal手段
  • 原文地址:https://www.cnblogs.com/iammackong/p/3246251.html
Copyright © 2020-2023  润新知