时间:2021-05-26
分页采用laypage使用起来比较简单但是功能很齐全,数据库访问使用petapoco,bootstrap用的是flatlab模版,采用mvc的repository模式。
先来一张效果图;
下面来看具体实现;
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 结合分布式图简单实现分页,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前面讲完了Redis的分布式锁的实现,接下来讲Redisson的分布式锁的实现,一般提及到Redis的分布式锁我们更多的使用的是Redisson的分布式锁,Re
分布式锁一般有三种实现方式:1、数据库乐观锁;2、基于Redis的分布式锁;3、基于ZooKeeper的分布式锁。本文将介绍第二种方式,基于Redis实现分布式
65哥已经工作两年了,一直做着简单重复的编程工作,活活熬成了一个只会CRUD的打工boy。65哥:总是听大佬讲分布式分布式,什么才是分布式系统呢?分布式系统是一
我主要讲此代码用于MVC的分布页。先看最终效果最终效果:样式为bootstrap3中的分页“pagination”,如果不使用bootstrap单独提出来并不大
Redis实现分布式锁的几种方法总结分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统