MVCJSONJQuery分页实现
思路:
1、用Ado.NET获取数据
2、控制器中创建一个方法参数为搜索条件
3、返回前台一个Json对象,把对象用一个类封装
4、用JQuery接收数据
public ActionResult IntroduceCustomerList(string CustomerName, string CustomerMobile, string CustomerNo, string ElectronMemberIDCard,int? idx)
{ //搜素条件
StringBuilder strwhere = new StringBuilder();
if (CustomerName!=null &&CustomerName!="")
{ strwhere.Append( " ct.RealName like'" +'%' + CustomerName +'%' + "' ");
strwhere.Append(" and ");
}
if (CustomerMobile != null && CustomerMobile != "")
{ strwhere.Append(" ct.Mobile like'" +'%' + CustomerMobile + '%' + "' ");
strwhere.Append(" and ");
}
if (CustomerNo != null && CustomerNo != "")
{ strwhere.Append(" MemberIDCard like'" + '%' + CustomerNo + '%' +"' ");
strwhere.Append(" and ");
}
if (ElectronMemberIDCard != null && ElectronMemberIDCard != "")
{
strwhere.Append(" ElectronMemberIDCard like'" + '%' + ElectronMemberIDCard + '%' + "' ");
strwhere.Append(" and "); }
return Json(cySearch, JsonRequestBehavior.AllowGet);
}
Ado取数据:
public List<Customer> ChunYuIntroduceCustomerList( int pageIndex,int pageSize,out int pageCount, string strWhere)
{
SELECT DISTINCT customeruserid FROM (
SELECT ROW_NUMBER() OVER(Order by customeruserid DESC ) AS RowId,* FROM(
SELECT DISTINCT
o.customeruserid
FROM orders o WITH(NOLOCK) }
JQuery时间戳的处理:
function getLocalTime(nS) {
//return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/, ' ');
var ydate = new Date(nS * 1000);
var year = ydate.getFullYear();
var mouth = ydate.getMonth();
var day = ydate.getDate();
return year + "-" + (mouth+1) + "-" + day;
} function getLocalTimeHou(nS) {
//return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/, ' ');
var ydate = new Date(nS * 1000);
var year = ydate.getFullYear();
var mouth = ydate.getMonth();
var day = ydate.getDate();
var hous = ydate.getHours();
var mini = ydate.getMinutes();
return year + "-" + (mouth + 1) + "-" + day + " " + hous + ":" + mini;
}
分页和接收数据拼接URL地址:
$("#layerBtnConfirmIntroduceCustomerList1").click(function () {
if(idx-1<=0)
{
return false;
}
idx=idx-1; LodinigSearch()
})
//下一页
$("#layerBtnConfirmIntroduceCustomerList2").click(function () {
if (idx + 1 > rowCount) {
return false;
}
idx=idx+1; LodinigSearch()
})
//尾页
$("#layerBtnConfirmIntroduceCustomerList3").click(function () {
idx = rowCount; LodinigSearch()
})
//首页
$("#layerBtnConfirmIntroduceCustomerList4").click(function () {
idx = 1; LodinigSearch()
}) function LodinigSearch() {
//顾客姓名
var CustomerName = $("input[name='CustomerName']").val();
//电话
var CustomerMobile = $("input[name='CustomerMobile']").val();
//卡号
var CustomerNo = $("input[name='CustomerNo']").val();
//电子会员卡号
var ElectronMemberIDCard = $("input[name='ElectronMemberIDCard']").val(); var ChunYuSearch = {
"CustomerName": CustomerName,
"CustomerMobile": CustomerMobile,
"CustomerNo": CustomerNo,
"ElectronMemberIDCard": ElectronMemberIDCard,
"idx": idx
};
var url = "/Customer/IntroduceCustomerList?CustomerName=" + CustomerName + "&CustomerMobile="
+ CustomerMobile + "&CustomerNo=" + CustomerNo + "&ElectronMemberIDCard=" + ElectronMemberIDCard + "&idx=" + idx;
//var url = "/Customer/IntroduceCustomerList";
_ajaxSubmitForm(url, { model: ChunYuSearch },
//_ajaxSubmitForm(url,
function (data) {
var sex = '';
var date = '';
var dateLast = '';
var dateJoinTime = '';
var tb = ""; rowCount = data.pageTotal;
var pageindex = "";
pageindex = data.pageindex;
for (var i = 0; i < data.list.length; i++) {
if (data.list[i].GenderCode == 1) {
sex = "男";
} else { sex = "女" }
if (data.list[i].Birthday != null && data.list[i].Birthday != '') {
date = data.list[i].Birthday;
date = getLocalTime(date.substr(6, 9));
}
else {
date == date;
} if (data.list[i].LastTakeTime != null && data.list[i].LastTakeTime != '') {
dateLast = data.list[i].LastTakeTime;
dateLast = getLocalTimeHou(dateLast.substr(6, 10));
} else {
dateLast == dateLast;
} if (data.list[i].JoinTime != null && data.list[i].JoinTime != '') {
dateJoinTime = data.list[i].JoinTime;
dateJoinTime = getLocalTimeHou(dateJoinTime.substr(6, 10));
} else {
dateJoinTime = dateJoinTime;
} tb += "<tr><td>";
tb += "<input type='checkbox' id='oneCheck' name='oneBox' onclick=\"checkOne(this,'" +
data.list[i].RealName + "'+'" + '(' + data.list[i].MemberIDCard + ')' + "','" + data.list[i].CustomerUserId + "')\" />";
tb += "<td id='rel'>" + data.list[i].RealName + '(' + data.list[i].MemberIDCard + ')';//顾客姓名(卡号)
tb += "<td>" + data.list[i].CorporationName + "</td>";//所属分公司
tb += "<td>" + data.list[i].OrgFullName + "</td>";//所属门店
tb += "<td>" + sex + "</td>";//性别
tb += "<td>" + date + "</td>";//出生日期
tb += "<td>" + dateLast + "</td>";//最近一次提取时间呢
tb += "<td>" + dateJoinTime + "</td>";//建档时间
tb += "<td>" + data.list[i].CreatedOrgName + "</td>";//建档部门
tb += "<td>" + data.list[i].CreatedStaffName + '(' + data.list[i].CreatedStaffNo + ')' + "</td></tr>";
} $("#chunyu").html(tb); $("#rowCount").val(rowCount);
$("#txrowCount").text(rowCount);
$("#txrowIndex").text(idx); },
function (data) {
//common.errResultMessage("出错了", "", "")
}
, true); } function checkOne(oneBox, val, id) {
$("#txtcyIntroducer").val('');
$("#cyIntroducer").val('');
var obj = document.getElementsByName("oneBox");
for (i = 0; i < obj.length; i++) {
//判斷obj集合中的i元素是否為cb,若否則表示未被點選
if (obj[i] != oneBox)
obj[i].checked = false;
}
$("#txtcyIntroducer").val(val);
$("#cyIntroducer").val(id);
}
MVCJSONJQuery分页实现的更多相关文章
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- MVC如何使用开源分页插件shenniu.pager.js
最近比较忙,前期忙公司手机端接口项目,各种开发+调试+发布现在几乎上线无问题了:虽然公司项目忙不过在期间抽空做了两件个人觉得有意义的事情,一者使用aspnetcore开发了个人线上项目(要说线上其实只 ...
- NET Core-TagHelper实现分页标签
这里将要和大家分享的是学习总结使用TagHelper实现分页标签,之前分享过一篇使用HtmlHelper扩展了一个分页写法地址可以点击这里http://www.cnblogs.com/wangrudo ...
- 套用JQuery EasyUI列表显示数据、分页、查询
声明,本博客从csdn搬到cnblogs博客园了,以前的csdn不再更新,朋友们可以到这儿来找我的文章,更多的文章会发表,谢谢关注! 有时候闲的无聊,看到extjs那么肥大,真想把自己的项目改了,最近 ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
随机推荐
- Bandicam录制视频
我已经录制了一个视频,关于怎么录制视频的,原画画质的嘻嘻.视频地址 http://www.tudou.com/programs/view/T7xzG1CgsD4 ------------------ ...
- CM记录-Hadoop 分布式文件系统HDFS(登录、配置、监控)
1.登录(浏览器输入ip地址:7180,登录用户名和登录密码即可) 2.CM主界面(各个组件,监控图表,绿色代表运行正常.黄色代表运行不良,需要关注根据实际情况调整,红色代表故障,需要排查问题) 3. ...
- 浅谈分词算法(3)基于字的分词方法(HMM)
目录 前言 目录 隐马尔可夫模型(Hidden Markov Model,HMM) HMM分词 两个假设 Viterbi算法 代码实现 实现效果 完整代码 参考文献 前言 在浅谈分词算法(1)分词中的 ...
- Spring 学习04
一.上节内容回顾 1 基于aspectj的注解aop操作 2 spring的jdbcTemplate操作 (1)实现crud操作 - 添加.修改.删除update方法 - 查询 -- 查询某个值 qu ...
- Keil stm32 printf到Debug窗口
使用JlinkV8+Keil41.在main.c输入以下代码 #include <stdio.h> #define ITM_Port8(n) (*((volatile unsigned c ...
- POJ1113 Wall【凸包】
题意: 求把城堡围起来需要的最小墙壁周长. 思路: 围墙周长为=n条平行于凸包的线段+n条圆弧的长度=凸包周长+围墙离城堡距离L为半径的圆周长. 代码: ...还是看大佬写的,自己做个记录方便日后复习 ...
- E - tower HYSBZ - 4657 (网络流割点)
题目链接:https://cn.vjudge.net/contest/281959#problem/E 题目大意:中文题目 具体思路:首先,有矛盾的时候就是两个导弹的运动轨迹会相交的时候,那么我们可以 ...
- composer设计原理与基本用法
原文地址:http://blog.turn.tw/?p=1039 COMPOSER進階原理:PHP命名空間與PSR-0 http://blog.turn.tw/?p=1122 Moving PHP ...
- bootstrap3在IE8下导航不显示,自动识别成手机模式
想让bootstrap3兼容ie8,需要将html5shiv.js.respond.js还有bootstrap的所有css.js文件都放在本地服务器空间,不能用CDN. bootstrap所有css. ...
- Jetson tk1 刷机后要做的几件事
参考简书文章: http://www.jianshu.com/p/997ede860d74 1. 查看Jetson TK1 L4T版本 head -n 1 /etc/nv_tegra_release ...