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. ...
随机推荐
- Java栈与堆一篇好文
http://blog.csdn.net/zhangao0086/article/details/6347342
- hudson安装
Hudson 只是一个持续集成服务器(持续集成工具),要想搭建一套完整的持续集成管理平台, SVN.Maven.Sonar 等工具按需求整合则可. 1. 安装 JDK 并配置环境变量(略) J ...
- poj2387 初涉最短路
前两天自学了一点点最短路..看起来很简单的样子... 就去kuangbin的专题找了最简单的一道题练手..然后被自己萌萌的三重for循环超时虐的不要不要的~ 松弛虽然会但是用的十分之不熟练... 代码 ...
- RESTful和JAX-RS
一.简介 Java Web有很多成熟的框架,主要可以分为两类Web Application和Web Services.用于Web Application的框架包括官方的Servlet/JSP, JST ...
- [ZZ] D3D中的模板缓存(3)
http://www.cppblog.com/lovedday/archive/2008/03/25/45334.html http://www.cppblog.com/lovedday/ D3D中的 ...
- PHP fwrite() 函数与 file_put_contents() 函数的比较
两个 PHP 函数都可以把字符串保存到文件中,fwrite() 函数的格式是: int fwrite ( resource handle , string string [ , int length] ...
- php-fpm
install php-fpm # Ubuntu sudo apt-get install python-software-properties; sudo add-apt-repository pp ...
- delphi 数组类型与数组指针的巧妙利用
{本例通过存取结构, 慢慢引入了数组类型与指针的一些使用方法; 其中六个小例子的测试内容和结果都是一样的. ---------------------------------------------- ...
- Java Map遍历方式的选择
[原文] 1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keyS ...
- scala手动编译运行
1 Person.scala class Person { var name = "" } object Person { // a one-arg constructor de ...