傲霸九州星辰,飞机安检有辐射吗,纵横第二世界 宽子
本文实例为大家分享了vue.js实现分页查询的具体代码,供大家参考,具体内容如下
vue.js的使用如下:
1、引入vue.js
<script src="~/js/vue2.2.4.js"></script>
a、分页条
<ul class="pagination" id="pagination1"></ul>
b、分页条js、css
<link href="~/css/page.css" rel="stylesheet" /> <script src="~/js/jqpaginator.js"></script>
2、分页的方法
public jsonresult grtuserdata(int page,int rows) { //top分页法 row_number分页 textentities tes = new textentities(); //分页查询 list<users> ulist = tes.users.orderby(a=>a.id).skip((page-1)*rows).take(rows).tolist(); int allcount = tes.users.count(); //总页数 int allpage = allcount / rows; if (allcount % rows !=0) allpage = allpage + 1; dto_page dp = new dto_page(); dp.data = ulist; dp.allpage = allpage; return json(dp, jsonrequestbehavior.allowget); }
3、封装page方法
public class dto_page { public int rows { get; set; } public int allpage { get; set; } public list<users> data { get; set; } }
4、定义获取总页数的方法
public jsonresult getallpage(int rows) { textentities tes = new textentities(); int allcount = tes.users.count(); //总页数 int allpage = allcount / rows; if (allcount % rows != 0) allpage = allpage + 1; return json(allpage); }
5、前台分页方法,获取后台的数据,实现分页的动态性
<script> //封装一个查询后台的方法 var getdata = function (page, rows,vm) { $.ajax({ url: '/home/grtuserdata', type: 'get', data: { page: page, rows: rows }, success: function (dto_page) { vm.mydata = dto_page.data; $.jqpaginator('#pagination1', { totalpages: dto_page.allpage, visiblepages: 5, currentpage: page, onpagechange: function (num, type) { //怎么把第一次忽略 if (type != "init") { //更新查询后的页面 getdata(num, 5,vm); } } }); } }); } $(function () { //给更新div添加数据 var update_vm = new vue({ el: "#updatecontent", data: { userinfo: {} } }) //实例化 vue.js (用来给表格提供数据的) 只实例化一次 var vm = new vue({ el: '#content', data: { mydata: [] }, methods: { butdelete: function (_id) //删除 { $.post('/home/batchdelete', { ids: _id }, function (result) { if (result > 0) { location.href = "/home/userman"; } else { alert("删除失败"); } }); }, butupdate: function (item, event) //更新 { //使用jquery打开编辑状态 //$(event.target).parent().parent().find("td:gt(0):lt(4)").each(function (index,item) { // $(item).html("<input type='text' style='width:50px' value=" + $(item).html() + ">"); //}); //复制对象 // var databack = $.extend({},item); update_vm.$data.userinfo = item; layer.open({ type: 1, area: ["300px", "230px"], title: "更新", content: $("#updatecontent"), btn: ["保存"], yes: function (index) { $.post('/home/update', update_vm.$data.userinfo, function (result) { //可以把vue.js数据替换把更新后到页面 // vm.$data.mydata.splice(1, 1, update_vm.$data.userinfo); }); }, cancel: function () //点击关闭按钮 { // alert(databack.username); // console.log(databack); } }); } } }); //默认第一个请求 getdata(2,5,vm); $("#deletebut").click(function () { //存放需要批量删除的id var ids = ""; $(".mytable input[type='checkbox']:checked").each(function (index, item) { ids += $(item).val() + ","; }); $.post('/home/batchdelete', { ids: ids }, function (result) { if (result > 0) { location.href = "/home/userman"; } else { alert("删除失败"); } }); }); }); </script>
关于vue.js的学习教程,请大家点击专题vue.js组件学习教程、vue.js前端组件学习教程进行学习。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
详解element上传组件before-remove钩子问题解决
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
网友评论