使用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; ...
随机推荐
- CodeWars可以学习的
http://www.codewars.com/kata/54ff3102c1bad923760001f3/solutions/csharp 判断给定的字符串有多少个a e i o u using S ...
- gitHub for windows设置网络代理
在公司网络环境下使用gitHub,一直出错,因为公司使用的代理.但是gitHub for windows无法设置代理. 可以通过C:\Users\admin\.gitconfig中,添加代理. 添加: ...
- storm - 使用过程中的一点思考
引子 这几天为了优化原有的数据处理框架,比较系统的学习了storm的一些内容,整理一下心得 1. storm提供的是一种数据处理思想,它不提供具体的解决方案 storm的核心是topo的定义,而top ...
- bzoj1426
偷个懒,转自hzwer [“这种煞笔题怎么总有人问”,被吧主D了... 用f[i]表示已经拥有了i张邮票,则期望还需要购买的邮票数 则f[n]=0 f[i]=f[i]*(i/n)+f[i+1]*((n ...
- bzoj2324后续思考
昨天写bzoj2324的解题报告的时候突然隐隐约约发现了我程序的一点问题 睡了一觉之后找到了反例 如下: 4 4 2 0 1 2 1 2 1 2 3 2 2 4 2 对于这个测试数据,显然最短路径和为 ...
- js不能执行,IE处理方法
一.如果你的ie不能打开js脚本(连系统里所有的js文件都不运行,网页上的js广告或好多页面都显示不了),请按一下步骤进行排查与解决: 1.查看是否IE的安全里面禁止了JS的运行: 将工具=>i ...
- c#编程指南(四) 组元(Tuple)
(1).C#语法中一个个问号(?)的运算符是指:可以为 null 的类型. MSDN上面的解释: 在处理数据库和其他包含不可赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型以及日期类型的功 ...
- java.lang和java.lang.annotation中实现Annotation的类小结
加了注解,等于打上了某种标记,没加,则等于没有某种标记,以后,其他程序可以用反射来了解你的类上面有无何种标记,看你有什么标记,就去干相应的事.标记可以加在类,方法,字段,包上,方法的参数上. (1) ...
- InnoDB关键特性之insert buffer
insert buffer 是InnoDB存储引擎所独有的功能.通过insert buffer,InnoDB存储引擎可以大幅度提高数据库中非唯一辅助索引的插入性能. 数据库对于自增主键值的插入是顺序的 ...
- ADO.NET - 全面梳理
转自:http://www.cnblogs.com/yangcaogui/archive/2012/06/09/2537086.html 目录: 简单的介绍下ADO.NET SqlConnection ...