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 相关文章推荐
JScript内置对象Array中元素的删除方法
Mar 08 Javascript
JS自动适应的图片弹窗实例
Jun 29 Javascript
Node.js安装教程和NPM包管理器使用详解
Aug 16 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 Javascript
tuzhu_req.js 实现仿百度图片首页效果
Aug 11 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
Sep 20 Javascript
jQuery多条件筛选如何实现
Nov 04 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
js实现网页定位导航功能
Mar 07 Javascript
ionic2中使用自动生成器的方法
Mar 04 Javascript
Express之托管静态文件的方法
Jun 01 Javascript
如何开发一个渐进式Web应用程序PWA
May 10 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
提问的智慧
2006/10/09 PHP
编写自己的php扩展函数
2006/10/09 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
javascript 拖动表格行实现代码
2011/05/05 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
微信小程序 共用变量值的实现
2017/07/12 Javascript
用Node提供静态文件服务的方法
2018/07/06 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
Python多线程学习资料
2012/12/19 Python
深入剖析Python的爬虫框架Scrapy的结构与运作流程
2016/01/20 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
Python操作MySQL数据库的方法
2018/06/20 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
共产党员承诺书
2014/03/25 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
消防志愿者活动方案
2014/08/23 职场文书
优秀员工推荐材料
2014/12/20 职场文书
劳模事迹材料范文
2014/12/24 职场文书
邀请函范文
2015/02/02 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
Python进度条的使用
2021/05/17 Python
常用的MongoDB查询语句的示例代码
2021/07/25 MongoDB
配置nginx负载均衡
2022/05/06 Servers