zoukankan      html  css  js  c++  java
  • 使用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>
  • 相关阅读:
    leetcode-Minimum Path Sum
    第三十二章 自说明代码
    第三十一章 布局与风格
    第三十章 编程工具
    第二十九章 集成
    第二十八章 管理构建
    第二十五章 代码调整策略
    第二十六章 代码调整技术
    第二十七章 程序规模对构建的影响
    第二十四章 重构
  • 原文地址:https://www.cnblogs.com/iammackong/p/3246251.html
Copyright © 2011-2022 走看看