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 相关文章推荐
jquery获取下拉列表的值为null的解决方法
Mar 18 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
Dec 15 Javascript
将Datatable转化成json发送前台实现思路
Sep 06 Javascript
js中对象的声明方式以及数组的一些用法示例
Dec 11 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
Sep 23 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
使用vue.js编写蓝色拼图小游戏
Mar 17 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
js构建二叉树进行数值数组的去重与优化详解
Mar 26 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
小程序双头slider选择器的实现示例
Mar 31 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
php 高效率写法 推荐
2010/02/21 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
Yii2实现多域名跨域同步登录退出
2017/02/04 PHP
php精度计算的问题解析
2019/06/21 PHP
javascript操作cookie的文章(设置,删除cookies)
2010/04/01 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
深入研究React中setState源码
2017/11/17 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
2020/07/22 Javascript
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Django中间件实现拦截器的方法
2018/06/01 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
促销活动总结怎么写
2014/06/25 职场文书
民主生活会剖析材料
2014/09/30 职场文书
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS
如何通过一篇文章了解Python中的生成器
2022/04/02 Python