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; ...
随机推荐
- JQuery弹出层,点击按钮后弹出遮罩层,有关闭按钮【转】
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- python 创建实例--待完善
今天好好琢磨一下 python 创建实例的先后顺序 一. 就定义一个普通类 Util (默认)继承自 object,覆写 new ,init 方法 class Util(object): def __ ...
- 03-依赖倒置原则(DIP)
1. 背景 类A是高层代码,类A直接依赖B,如果要将类A改为还要依赖C,则必须修改类A的代码来实现.在实际场景中,类A是高层,负责业务逻辑,类B和类C是低层模块,负责基本的原子操作,假如修改A,会给程 ...
- Jquery中click事件重复执行的问题
平常没注意事件绑定问题,在此注意一下: function testClick(obj){ $("select").off().on("click", funct ...
- css/css3常用收集/笔记
_______________________________________________________________ css3 瀑布流 N 列 <ul><li>aa ...
- buildroot构建项目(四)--- u-boot 2017.11 适配开发板修改 2 ---- 系统启动初始化之一
一.代码分析 上一节已经分析了链接文件,知道了首先代码是从 _start 开始,之后设置了中断向量表,然后从 start.s 开始运行. _start:vectors.S (arch\arm\lib) ...
- luogu 1006 传纸条
三/四维dp,将两次传递均看作从左上而来,在dp过程中注意防止越界/重合 f[i][j][k][l]直接枚举两轮的点,如下 #include<bits/stdc++.h> #define ...
- edge box
先介绍一下matlab与c混合编程 主要步骤: 使用c语言编写函数 利用mexFunction()函数创建C与matlab接口 从Matlab中编译函数 # include <mex.h> ...
- TCP 链接 存在大量 close_wait 等待
大量 close_wait 等待 调整linux下 /etc/sysctl.conf参数,里面设置参数: # net.ipv4.tcp_keepalive_time 然后执行 # sysctl -p
- 前段clam安装
前端模块化协同开发解决方案 —— clam 1. 打开后直接看最后一条https://blog.csdn.net/zhangwenwu2/article/details/581720422. node ...