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 相关文章推荐
一个网页标题title的闪动提示效果实现思路
Mar 22 Javascript
js canvas仿支付宝芝麻信用分仪表盘
Nov 16 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
Nov 18 Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
Mar 01 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
Apr 19 Javascript
JS+canvas绘制的动态机械表动画效果
Sep 12 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
Mar 03 Javascript
JS基于ES6新特性async await进行异步处理操作示例
Feb 02 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
Jul 23 Javascript
基于openlayers实现角度测量功能
Sep 28 Javascript
利用javaScript处理常用事件详解
Apr 14 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 echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
jquery 学习之二 属性相关
2010/11/23 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
jQuery实现html元素拖拽
2015/07/21 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
Django URL传递参数的方法总结
2016/08/28 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
总结python中pass的作用
2019/02/27 Python
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
倡议书格式模板
2014/05/13 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
2014年建筑工作总结
2014/11/26 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
高一作文之暖冬
2019/11/09 职场文书