使用Knoctout.分页
要点:点击标签翻页部分时,pageValue自动加1.
1、api中的方法
public ArticleListModel Get(int page,string _class)
{
var list = new ArticleListModel
{
Articles = GetArticle(_class).Skip(*(page - )).Take().ToList(),
CurPage = page
};
//DAL.ApolloEntities entities = new ApolloEntities();
int count = db.Articles.Count(p => p.Class == _class);
int pages;
if (count % == )
pages = count / ;
else
{
pages = count / + ;
}
list.Page = new List<PageModel>();
//for (int i = 0; i < pages; i++)
//{
list.Page.Add(new PageModel { PageText = "上一页", PageValue = page - });
if (page <= pages-)
{
list.Page.Add(new PageModel {PageText = "下一页", PageValue = page + });
}
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">
<a href="#" data-bind="click: $root.ChangePage, text: PageText"></a>  
</ul> </div>
</div>
3、前台js处理
<script type="text/javascript">
function ReSizePic(ThisPic) {
var RePicWidth = ; //这里修改为想显示的宽度值
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 = ;
$("#divID")[].innerHTML = "";
$.each(data.Articles, function (i, v)
{
if (i == )
{
$("#divID")[].innerHTML += "</br></br></br>";
} $("#divID")[].innerHTML += "<a href='' id='a" + i + "' ><img id='image" + i + "' src='' onload='ReSizePic(this);' /></a>";
$("#divID")[].innerHTML += "<p class='bgcolor' id='p" + i + "'></p>";
$("#divID")[].innerHTML += "<p class='bgtext' id='pl" + i + "'></p>"; $("#a" + i).attr({ href: "/ReceptionArticle/Details/" + v.Id });
$("#image" + i).attr({ src: v.Img });
$("#p" + i)[].textContent = v.Title;
$("#pl" + i)[].textContent = v.Time.toString().substring(, );
i++;
}
); self.pages.removeAll();
$.each(data.Page, function (i, v) {
self.pages.push(v);
}); });
};
} var viewModel = new ArticleViewModel();
$.getJSON("/api/Articles", { page: , _class: "联合动态" }, function (data) {
var i = ;
$("#divID")[].innerHTML = "";
$.each(data.Articles, function (i, v) {
if (i == ) {
$("#divID")[].innerHTML += "</br></br></br>";
} $("#divID")[].innerHTML += "<a href='' id='a" + i + "' ><img id='image" + i + "' src='' onload='ReSizePic(this);' /></a>";
$("#divID")[].innerHTML += "<p class='bgcolor' id='p" + i + "'></p>";
$("#divID")[].innerHTML += "<p class='bgtext' id='pl" + i + "'></p>"; $("#a" + i).attr({ href: "/ReceptionArticle/Details/" + v.Id });
$("#image" + i).attr({ src: v.Img });
$("#p" + i)[].textContent = v.Title;
$("#pl" + i)[].textContent = v.Time.toString().substring(, );
i++;
});
viewModel.lists = ko.observableArray(data.Articles);
viewModel.pages = ko.observableArray(data.Page);
ko.applyBindings(viewModel);
});
</script>
使用Knoctout.分页的更多相关文章
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- MVC如何使用开源分页插件shenniu.pager.js
最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...
- NET Core-TagHelper实现分页标签
这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...
- 套用JQuery EasyUI列表显示数据、分页、查询
声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
随机推荐
- (转)Decision Tree
Decision Tree:Analysis 大家有没有玩过猜猜看(Twenty Questions)的游戏?我在心里想一件物体,你可以用一些问题来确定我心里想的这个物体:如是不是植物?是否会飞?能游 ...
- IPC是什么意思?
IPC(Inter-Process Communication,进程间通信)IPC ( Instruction per Clock 及CPU每一时钟周期内所执行的指令多少) IPC代表了一款处理器的设 ...
- ubuntu程序安装方法
以前一直使用window,今天安装了一个ubuntu系统(如果有同学也想装,建议装英文版的),因为以前ubuntu系统用的不多,所以安装软件就是一个问题. 就以安装chrome来说吧: 1.在Goog ...
- SGU185 - Two Shortest
原题地址:http://acm.sgu.ru/problem.php?contest=0&problem=185 题目大意:给出一个无向图,求出从 1 到 n 的两条没有相同边的最短路径(允许 ...
- windows获取窗口句柄
1.使用FindWindow函数获取窗口句柄 示例:使用FindWindow函数获取窗口句柄,然后获得窗口大小和标题,并且移动窗口到指定位置. #include <Windows.h> # ...
- centos 6.5 32位 编译安装Mysql
groupadd mysql #添加mysql组 useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统 ...
- jquery通过ajax获取数据(优化、封装)
下载页面查看: makeGrid.js ,column.js ,XiangMuGuanLi.aspx <div class="tb_container" id=&quo ...
- 自定义Sharepoint的登陆页面
转:http://www.cnblogs.com/jecoso/archive/2008/05/25/1207151.html 原文作者:Damon Armstrong 原文地址:http://www ...
- WCF开发时如何选择正确的实例模式(InstanceMode)?
WCF开发时如何选择正确的实例模式(InstanceMode)? 在使用WCF实例模型时,你是否思考过这几个的问题: ”WCF中的实例模式如何正确应用”? ”使用WCF中的实例模式有何原则可以遵循 ...
- 无法找到.exe的调试信息
原文:无法找到.exe的调试信息 前天重装了电脑,并配置了Visual Studio2005的VC正则库,boost/regex,运行速度马上快了三倍吧,到底是怎么快的,我还真说不清楚,因为电脑这玩意 ...