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 相关文章推荐
Visual Studio中的jQuery智能提示设置方法
Mar 27 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
May 07 Javascript
动态的创建一个元素createElement及删除一个元素
Jan 24 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
Jun 01 Javascript
JavaScript实现打字效果的方法
Jul 10 Javascript
jQuery+css实现的切换图片功能代码
Jan 27 Javascript
js中DOM三级列表(代码分享)
Mar 20 Javascript
JS身份证信息验证正则表达式
Jun 12 Javascript
js数组方法reduce经典用法代码分享
Jan 07 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
Jan 24 jQuery
js实现贪吃蛇游戏 canvas绘制地图
Sep 09 Javascript
微信小程序input抖动问题的修复方法
Mar 03 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
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
js获取图片长和宽度的代码
2009/11/24 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
python 判断自定义对象类型
2009/03/21 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python之django母板页面的使用
2018/07/03 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
详解python 内存优化
2020/08/17 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
上海方立数码笔试题
2013/10/18 面试题
本科生学习总结的自我评价
2013/10/02 职场文书
假释思想汇报范文
2014/10/11 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
煤矿施工安全协议书
2016/03/22 职场文书
如何正确理解python装饰器
2021/06/15 Python
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS