微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mvc 、bootstrap 结合分布式图简单实现分页

分页采用laypage使用起来比较简单但是功能很齐全,数据库访问使用petapoco,bootstrap用的是flatlab模版,采用mvc的repository模式。

先来一张效果图;

下面来看具体实现;

Controller:

rush:js;"> public ActionResult Index() { return View(); } /// /// 分布视图 /// /// aram name="query"> /// public ActionResult List(UserQuery query) { var list = UserRepository.GetList(query); return View(list); }

Repository

rush:js;"> public Page 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(query.PageIndex,query.PageSize,sql); }

js:

rush: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({},{ 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:

rush:js;"> @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section js{

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐