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. ...
随机推荐
- 使用LTT升级HP磁带机的固件程序
下载后将软件包解压 解压后,进入该文件夹可以看到固件程序 将所有固件程序拷贝至LTT软件安装目录下的firmware文件夹中 C:\Program Files\HP StorageWorks ...
- jQuery中添加/改变/移除改变CSS样式例子
在jquery中对于div样式操作我们会使用到CSS() removeClass() addClass()方法来操作了,下面我们就整理了几个例子大家一起来看看吧. CSS()方法改变CSS样式 ...
- [ZZ] HDR&ToneMapping
http://blog.csdn.net/toughbro/article/details/6745207 float游戏存储照片blogimage HDR high dynamic range. 很 ...
- PHP / JavaScript / jQuery 表单验证与处理总结: 第①部分 PHP 表单验证与处理
PHP VERSION = 5.3.10 一.关于 $_REQUEST PHP 文档关于 $_REQUEST 的说明: 说明 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组. ...
- Ruby--hash
--将hash作为js方法 get_page_top_module('<%=@page_type%>', <%=@location_hash.to_json%>);
- WordPress工作原理之程序文件执行顺序
在了解WordPress挂载机制时,一直有一个疑惑,到底是WordPress的内核源文件先执行还是主题文件里functions.php文件先执行.为了解决这个问题,想了解WordPress的工作原理, ...
- mysql默认字符集修改
(1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,添加 [mysql] default-character-set = utf8 [mysqld] character_se ...
- Linux - full name of command
pwd: print working directory cd: change directory ls: list ps: process status su: switch user mv: mo ...
- Python For Data Analysis -- NumPy
NumPy作为python科学计算的基础,为何python适合进行数学计算,除了简单易懂,容易学习 Python可以简单的调用大量的用c和fortran编写的legacy的库 Python科学计算的这 ...
- url如何传递参数
$(document).ready(function() { var name=getQueryString('minename'); if (name != null && name ...