mvc 、bootstrap 结合分布式图简单实现分页


Posted in Javascript onOctober 10, 2016

分页采用laypage使用起来比较简单但是功能很齐全,数据库访问使用petapoco,bootstrap用的是flatlab模版,采用mvc的repository模式。

先来一张效果图;

mvc 、bootstrap 结合分布式图简单实现分页

下面来看具体实现;

Controller:

public ActionResult Index()
{
return View();
}
/// <summary>
/// 分布视图
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public ActionResult List(UserQuery query)
{
var list = UserRepository.GetList(query);
return View(list);
}

Repository

public Page<User> GetList(UserQuery query)
{
var sql = Sql.Builder.Append("select Id,UserName,Password,Age,Gender,CreateTime from Users where 1=1 ");
if (!string.IsNullOrWhiteSpace(query.UserName))
{
sql.Append("and username like @0", "%" + query.UserName + "%");
}
return Page<User>(query.PageIndex, query.PageSize, sql);
}

js:

var users = {
lpage: function (query) {
var self = this;
var url = '/test/list?r=' + Math.random();
$.get(url,
query,
function (h) {



 //get 请求分布视图,返回html,把html添加到对应的div里
$('#datadiv').html(h);
laypage({
cont: 'pager',
pages: $('#pagecount').val(),
skin: 'molv',
skip: true,
curr: query.pageindex,
jump: function (obj, first) {
if (!first) {
var nquery = $.extend({}, query, { pageindex: obj.curr });
self.lpage(nquery);
}
}
});
},
'html');
},
load: function () {


//搜索条件,序列化成对象
var query = users.serializeElements($(':input', '#searchdiv'));
query.pageindex = 1;
query.pagesize = 10;
users.lpage(query);
},
init: function () {
users.load();
$('#searchbtn').click(function () {
users.load();
});
},
serializeElements: function (array) {
var items = {};
array.each(function () {
var fieldname = this.name;
if (fieldname) {
var self = $(this);
if (self.is(':checkbox') || self.is(':radio')) {
if (self.attr('checked'))
items[fieldname] = $(this).val();
} else {
var val = self.val();
if (!self.is(':input')) {
val = val || $.trim(self.text());
}
if (val && val.length === 0) return;
items[fieldname] = val;
}
}
});
return items;
}
}

html:

@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section js{
<script src="~/assets/laypage/laypage.js"></script>
<script src="~/Scripts/ixxiyy-js/users.js"></script>
<script type="text/javascript">
users.init();
</script>
}
<!--main content start-->
<section id="main-content">
<section class="wrapper">
<!-- page start-->
<div class="row">
<div class="col-lg-12">
<section class="panel">
<header class="panel-heading">
<div class="form-inline" id="searchdiv">
<div class="form-group">
<input type="text" class="form-control" placeholder="登录名" name="UserName" />
</div>
<div class="form-group">
<button type="button" class="btn btn-primary" id="searchbtn"><i class="fa fa-search"></i>搜索</button>
</div>
</div>
</header>
</section>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<section class="panel" id="datadiv"></section>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="pagination" id="pager"></div>
</div>
</div>
<!-- page end-->
</section>
</section>
<!--main content end-->

分布视图:

@{
Layout = null;
}
@model PetaPoco.Page<IxxIyy.Core.IxxIyyDB.User>
<input type="hidden" value="@Model.TotalPages" id="pagecount" />
<table class="table table-striped table-advance table-hover">
<thead>
<tr>
<th><i class="fa fa-bullhorn"></i>UserName</th>
<th class="hidden-phone"><i class="fa fa-question-circle"></i>Age</th>
<th><i class="fa fa-bookmark"></i>Gender</th>
<th><i class="fa fa-edit"></i>CreateTime</th>
</tr>
</thead>
<tbody>
@if (Model.TotalItems == 0)
{
<tr>
<td colspan="4">暂无数据</td>
</tr>
}
@foreach (var d in Model.Items)
{
<tr>
<td><a href="#">@d.UserName</a></td>
<td class="hidden-phone">@d.Age</td>
<td>@d.Gender</td>
<td>@d.CreateTime.Value.ToString("yyyy-MM-dd HH:mm")</td>
</tr>
}
</tbody>
</table>

以上所述是小编给大家介绍的mvc 、bootstrap 结合分布式图简单实现分页,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 语言的递归编程
May 18 Javascript
使用JavaScript构建JSON格式字符串实现步骤
Mar 22 Javascript
原生javascript和jquery判断浏览器版本等信息
Jul 04 Javascript
不提示直接关闭网页窗口的JS示例代码
Dec 17 Javascript
FF IE浏览器修改标签透明度的方法
Jan 27 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
Jul 18 Javascript
VSCode 配置React Native开发环境的方法
Dec 27 Javascript
React diff算法的实现示例
Apr 20 Javascript
js如何找出字符串中的最长回文串
Jun 04 Javascript
vue使用jsonp抓取qq音乐数据的方法
Jun 21 Javascript
JavaScript中变量提升与函数提升经典实例分析
Jul 26 Javascript
Node.js中的不安全跳转如何防御详解
Oct 21 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
Oct 10 #Javascript
JS命令模式例子之菜单程序
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
Oct 10 #Javascript
KnockoutJS 3.X API 第四章之click绑定
Oct 10 #Javascript
You might like
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
asp 取文本框名称代码
2008/12/02 Javascript
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
利用nodeJs anywhere搭建本地服务器环境的方法
2018/05/12 NodeJs
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
英国玛莎百货新西兰:Marks & Spencer New Zealand
2019/07/21 全球购物
师范毕业生求职自荐信
2013/09/25 职场文书
生产主管岗位职责
2013/11/10 职场文书
大学生职业规划前言模板
2013/12/27 职场文书
超市周年庆活动方案
2014/08/16 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
信用卡工作证明范本
2015/06/19 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js
Java内存模型之happens-before概念详解
2021/06/13 Java/Android