ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询
js前台对datagrid的定义代码,如下
mygrid = $('#mytable').datagrid({
fit: true, //自动大小
height: 'auto',
rownumbers: true, //行号
fitColumns: true,
collapsible: true, //是否可折叠的
loadMsg: '数据装载中......',
singleSelect: true, //单行选取
pagination: true //显示分页
// columns: [[]]
});
//设置分页控件
$("#mytable").datagrid('getPager').pagination({
beforePageText: "第",
afterPageText: "页",
displayMsg: "当前 {from} - {to}条数据 共{total} 条数据",
pageSize: 100,
pageList: [20, 30, 40, 50, 60, 70, 80, 90, 100],
onBeforeRefresh: function () {
},
onRefresh: function (pageNumber, pageSize) {
},
onChangePageSize: function () {
},
onSelectPage: function (pageNumber, pageSize) {
getData();
}
});
js查询请求代码,如下:
function getData() {
var param = "";
$(".mynon").each(function () {
if ($(this).attr("checked") == "checked")
param = param + "#" + $(this).attr("id");
});
if (param != "") {
var grid = $('#mytable');
var options = grid.datagrid('getPager').data("pagination").options; //选项
var pagenum = options.pageNumber; //页数
var total = options.total; //总数
var max = Math.ceil(total / options.pageSize);
var pagesize = options.pageSize; //每页行数
var sttime = $("#starttime").combobox('getText');
var ettime = $("#endtime").combobox('getText');
$.ajax({
type: "post",
url: "../frm/report.aspx/GetReport",
data: "{'begin':'" + sttime + "','end':'" + ettime + "','param':'" + param + "','pagenum':'" + pagenum + "','pagesize':'" + pagesize + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
var d = eval('(' + data.d + ')');
try {
$('#mytable').datagrid("loadData", d);
} catch (e) {
alert(e);
}
},
error: function (err) {
alert("错误代码:" + err.status);
}
});
}
else {
alert("请选择相应的设备!");
}
}
});
ASP.NET后台代码,如下图:
[WebMethod]
public static string GetReport(string begin, string end, string param, string pagenum, string pagesize)
{
string userID = HttpContext.Current.Session["userID"].ToString();
string[] paras = param.Split('#');
string measures = "'";
; i < paras.Length; i++)
{
measures = measures + "','" + paras[i];
}
measures = measures + "'";
string beginTime = begin + ":00";
string endTime = end + ":00";
;
DataTable dt = drWater.BLL.infoManager.GetHistoryPageInfo(userID, beginTime, endTime, measures, pagenum, pagesize, out totalcount);
List<json.dataItemJson> dataList = new List<json.dataItemJson>();
if (dt != null)
{
)
{
; i < dt.Rows.Count; i++)
{
json.dataItemJson item = new json.dataItemJson();
......
item.status = dt.Rows[i]["status"].ToString();
dataList.Add(item);
}
}
}
json.dataListJson dataListJson = new json.dataListJson();
dataListJson.total = totalcount;
dataListJson.rows = dataList;
JavaScriptSerializer js = new JavaScriptSerializer();
js.MaxJsonLength = int.MaxValue;
string str = js.Serialize(dataListJson);
return str;
}
经过多次调试,返回的json字符串,虽然符合easyUi datagrid的数据格式标准,但是载入数据的时候出错!
使用eval转化json字符串之后,解决该问题!
ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询的更多相关文章
- 利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
在Asp.net Web API中,对业务数据的分页查询处理是一个非常常见的接口,我们需要在查询条件对象中,定义好相应业务的查询参数,排序信息,请求记录数和每页大小信息等内容,根据这些查询信息,我们在 ...
- javaScript(拼写树形)+ajax请求,去后台查找数据
第一步:页面加载完成时,利用jquery中的一函数,调用js方法,js方法,发送ajax请求,去后台查找父类权限集合,响应回来json格式的数据,对数据进行操作,往页面上添加内容 //页面初始化加载菜 ...
- bootstrap-data-target触发模态弹出窗元素的data使用 data-toggle与data-target的作用 深入ASP.NET MVC之九:Ajax支持 Asp.Net MVC4系列--进阶篇之AJAX
bootstrap-data-target触发模态弹出窗元素的data使用 时间:2017-05-27 14:22:34 阅读:4479 评论:0 收藏:0 [ ...
- easyUi 学习笔记 (二 ) 使用tabs 里datagridview 发送ajax请求 不访问后台的问题
这个BUG 我花了一个半小时, 还是看不出哪里的问题, 于是就百度到这么一段话,我需要记住 <================================================= ...
- EasyUI DataGrid 基于 Ajax 自定义取值(loadData)
为 datagrid 加载数据分两种情况: 一种是基于 Ajax 请求获取数据然后通过"loadData"方法来赋值: 另一种是直接使用 datagrid 自带的"loa ...
- EasyUI datagrid组件绑定有转义字符的json数据出错
最近项目中一个页面的datagrid出现了莫名其妙的问题, 首先是分页数据的第二页和第三页不能展示,过了一天后第一页也出不来了, 默认首页不出来导致后续分页处理无法进行, 整个数据都不出来了,最后只能 ...
- Ajax请求ashx返回各类数据的常见处理方式
.请求text数据,在success事件中手动解析 前台: $.ajax({ type: "post", url: "checkFile.ashx", data ...
- Jquery通过ajax请求NodeJS返回json数据
最近看了NodeJS相关的,在网上查了下结合AJAX的应用,感觉应用前景还是不错的.为什么用这个组合呢? 1.NodeJS不需要安装,拷贝过去就可以使用,而环境变量可以只配置在当前cmd窗口,运行方便 ...
- SpringBoot16 MockMvc的使用、JsonPath的使用、请求参数问题、JsonView、分页查询参数、JsonProperty
1 MockMvc的使用 利用MockMvc可以快速实现MVC测试 坑01:利用MockMvc进行测试时应用上下文路径是不包含在请求路径中的 1.1 创建一个SpringBoot项目 项目脚手架 1. ...
随机推荐
- Phaser中很多对象都有一个anchor属性
游戏要用到的一些图片.声音等资源都需要提前加载,有时候如果资源很多,就有必要做一个资源加载进度的页面,提高用户等待的耐心.这里我们用一个state来实现它,命名为preload. 因为资源加载进度条需 ...
- HDU 1257 最少拦截系统(Dilworth定理+LIS)
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- node系列:琐碎备忘
cmd 全局与本地路径 查看:默认 查看本地路径:npm config get cache,默认和nodejs安装目录同一目录 查看全局路径:npm config get prefix,默认c盘app ...
- 被spring和hibernate4逼疯
spring3.1整合hibernate4,事务都配置上了的,但getCurrentSession()仍然获得不到 以下是各配置 web.xml ? 1 2 3 4 5 6 7 8 9 10 11 1 ...
- Apache Spark源码走读之2 -- Job的提交与运行
欢迎转载,转载请注明出处,徽沪一郎. 概要 本文以wordCount为例,详细说明spark创建和运行job的过程,重点是在进程及线程的创建. 实验环境搭建 在进行后续操作前,确保下列条件已满足. 下 ...
- 纯CSS制作三角(转)
原原文地址:http://www.w3cplus.com/code/303.html 原文地址:http://blog.csdn.net/dyllove98/article/details/89670 ...
- markdown 书写表格
Tables Are Cool col 3 is right-aligned $1600 col 2 is centered $12 zebra stripes are neat $1 Refs ma ...
- C#引用类型与值类型的比较
using System; using System.Collections.Generic; using System.Linq; using System.Text; using SimpleDe ...
- 使用Reveal
添加Reveal.framework,设置Other link flags 添加Debug为 -ObjC,添加 libz 库 这里介绍 Reveal UI 分析工具的简单使用,至于使用他分析手机 Ap ...
- JavaScript POST 请求如何跨域
前天遇到一个问题,就是我上传图片的时候,这个图片需要上传给某个API的接口 这样问题就来了,我们之前上传图片的时候都是先上传到我们自己的后台里面,然后通过后台,再把这个流传到图片服务器上. 但是上传到 ...