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; ...
随机推荐
- Java中的回车换行符/n /r /t
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格.通常用的Enter是两个加起来.下面转一篇文章. 回车和换行 今天,我总算搞清楚“回车”(carriage return)和“换行 ...
- IP地址分类以及子网划分
五类IP地址段 根据上表的说明,我们可以知道: 你只要知道 IP 的第一个十进制数,就能够约略了解到该 IP 属于哪一个等级, 以及同网域 IP 数量有多少. 这也是为啥我们上头选了 192.168. ...
- Python发邮件的小脚本
# -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText mailto_list = ['hitwh_Gy ...
- html5 实时监听输入框值变化的完美方案:oninput & onpropertychange
结合 HTML5 标准事件 oninput 和 IE 专属事件 onpropertychange 事件来监听输入框值变化. H5手机端: <input type="text" ...
- DotNetBar TreeGx用法
添加一个节点和4个子节点treeGXHelp.Nodes[].Text = textBoxDropDownHelp.Text + "的主题"; treeGXHelp.Nodes[] ...
- Java EE之Form的get与post方法
Form表单中method="post/get'的区别 Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生 ...
- 第16月第26天 /bin/bash^M: bad interpreter: 没有那个文件或目录
1. 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容...具体细节不管,如果验证: vim test. ...
- 创建Git独立分支
在使用git进行版本控制的某些场景中我们可能需要在一个项目中建立完全独立的分支,此分支将作为一个独立的版本历史根节点,不与之前任何分支拥有相同的版本祖先. 比如当我们要在一个项目中使用一个分支进行项目 ...
- Android APP常见的5类内存泄露及解决方法
1.static变量引起的内存泄漏 因为static变量的生命周期是在类加载时开始 类卸载时结束,也就是说static变量是在程序进程死亡时才释放,如果在static变量中 引用了Activity 那 ...
- redis实现消息队列&发布/订阅模式使用
在项目中用到了redis作为缓存,再学习了ActiveMq之后想着用redis实现简单的消息队列,下面做记录. Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易的实现一个高性 ...