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 FormatNumber函数实现方法
Dec 30 Javascript
浅谈js中变量初始化
Feb 03 Javascript
js检测用户输入密码强度
Oct 22 Javascript
javascript实现数组去重的多种方法
Mar 14 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
Aug 02 Javascript
原生JS实现图片轮播效果
Dec 26 Javascript
jQuery实现6位数字密码输入框
Dec 29 Javascript
浅谈vue-lazyload实现的详细过程
Aug 22 Javascript
基于Vuex无法观察到值变化的解决方法
Mar 01 Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 Javascript
原生js无缝轮播插件使用详解
Mar 09 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
用php过滤危险html代码的函数
2008/07/22 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
JS交换变量的方法
2015/01/21 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
[01:02:03]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS VG
2014/05/26 DOTA
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
Python测试线程应用程序过程解析
2019/12/31 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
CSS3 毛玻璃效果
2019/08/14 HTML / CSS
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
党员思想汇报范文
2013/12/30 职场文书
乡镇庆八一活动方案
2014/02/02 职场文书
文明城市标语
2014/06/16 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
2016新年年会主持词
2015/07/06 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
决心书格式范文
2015/09/23 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
Golang ort 中的sortInts 方法
2022/04/24 Golang