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; ...
随机推荐
- vue项目 打包部署上线
1. npm run dev:本地开发的时候做调试用的. 2. npm run build:打包部署上线,生成一个 dist 文件夹. 注意:用 npm run build 时,常遇到因引用路径不对导 ...
- golang匿名结构体
go语言定义结构体类型时可以仅指定字段类型而不指定字段名字.这种字段叫做匿名字段(anonymous field). Go语言有一个特性允许只声明一个成员对应的数据类型而不指名成员的名字:这类成员就 ...
- UVALive - 7637 E - Balanced String(构造)
原题链接 题意:给出一个打乱顺序的序列,问是否能构造出一个括号匹配的字符串.每个数字为此前读取到的左括号数减去右括号数. 分析:有左括号开始构造,不够的话就找右括号.注意特殊情况待处理.详情看代码 # ...
- Codeforces 590D Top Secret Task
D. Top Secret Task time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- 浅谈cookie与session的区别
cookie用的是在客户端保持状态的方案(它是在用户端的会话状态的存贮机制),前端也可以来设置他 所有浏览器都识别,并且会缓存在浏览器中. cookie是以key=value这种键值对的形式保存,每个 ...
- dbeaver can't connect HBase1.2 using phoenix driver #1863
1 第一个问题 Unexpected version format: 10.0.2 Unexpected version format: 10.0.2 Unexpected version forma ...
- IE8以下浏览器设置Title的问题
ie8不支持网页title的如下写法 $('title').text('标题'); $('title').html('标题'); 在ie8中,正确写法: document.title = &quo ...
- Django 2.0 学习(12):Django 模板语法
Django 模板语法 一.模板 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法 模板语法变量:{{ }} 在Django模板中遍历复杂数据结构的关键是句点字 ...
- Flask最强攻略 - 跟DragonFire学Flask - 第六篇 Flask 中内置的 Session
Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 1. Flask 中 session 是需要 secret_key 的 from ...
- 【转】Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)
[转]Python之xml文档及配置文件处理(ElementTree模块.ConfigParser模块) 本节内容 前言 XML处理模块 ConfigParser/configparser模块 总结 ...