easyui datatable ajax 加载数据,ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询...

这篇博客介绍了如何在JavaScript中使用EasyUI的DataGrid组件进行前端数据展示,并通过Ajax实现分页查询。文章详细展示了DataGrid的配置代码,包括设置分页、筛选等功能。同时,给出了后台ASP.NET的处理代码,用于接收和处理查询请求,进行分页数据的计算和返回。在实际运行中遇到了返回JSON数据格式问题,通过eval函数解决了这个问题。
摘要由CSDN通过智能技术生成

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 dataList = new List();

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&period;net Web API中实现对业务数据的分页查询处理

在Asp.net Web API中,对业务数据的分页查询处理是一个非常常见的接口,我们需要在查询条件对象中,定义好相应业务的查询参数,排序信息,请求记录数和每页大小信息等内容,根据这些查询信息,我们在 ...

javaScript(拼写树形)&plus;ajax请求,去后台查找数据

第一步:页面加载完成时,利用jquery中的一函数,调用js方法,js方法,发送ajax请求,去后台查找父类权限集合,响应回来json格式的数据,对数据进行操作,往页面上添加内容 //页面初始化加载菜 ...

easyUi 学习笔记 (二 ) 使用tabs 里datagridview 发送ajax请求 不访问后台的问题

这个BUG 我花了一个半小时, 还是看不出哪里的问题,  于是就百度到这么一段话,我需要记住 <================================================= ...

EasyUI DataGrid 基于 Ajax 自定义取值&lpar;loadData&rpar;

为 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. ...

随机推荐

Elasticsearch——Rest API中的常用用法

本篇翻译的是Elasticsearch官方文档中的一些技巧,是使用Elasticsearch必不可少的必备知识,并且适用于所有的Rest Api. 返回数据格式化 当在Rest请求后面添加?prett ...

Swift2&period;1 语法指南——自动引用计数

原档: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programm ...

理解Python装饰器

装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓存.权 ...

select function in ruby

http://ruby-doc.org/ http://ruby-doc.org/core-2.3.0/Array.html#method-i-select [1,2,3,4,5].select { ...

【Other】推荐点好听的钢琴曲

2013-12-13 16:19 匿名 | 浏览 138977 次 音乐钢琴 推荐点好听的钢琴曲,纯音乐也可以thanks!!! 2013-12-14 19:34 网友采纳 热心网友 巴洛克:帕海贝尔 ...

shell 脚本阅读之二——ltp工具下的runltp

#!/bin/sh ################################################################################ ## ## ## ...

Linux-基础学习(二)-基本部署

开始今日份整理 1. 系统优化部分 1.1 Linux防火墙安全相关(重要) 1.1.1 SELinux功能 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA ...

Linux高级文件系统管理&lpar;8&rpar;

如果您的 Linux 服务器有多个用户经常存取数据时,为了维护所有使用者在硬盘容量的公平使用,磁碟配额 (Quota) 就是一项非常有用的工具,另外,如果你的用户常常抱怨磁盘容量不够用,那么更进阶的文 ...

RedHat 7&period;3 Oracle 12&period;2&period;0&period;1 RAC 安装手册&lpar;转&rpar;

1  准备工作 1.1   关于GRID的一些变化 1.1.1  简化的基于映像的Oracle Grid Infrastructure安装 从Oracle Grid Infrastructure 12 ...

H2:开源内存数据库引擎

本资源由 伯乐在线 - 刘立华 整理 H2是一个开源的内存数据库.Java编写.快速.小巧(1.5MB jar包)还提供了Web控制台管理数据库内容. 主要功能 非常快速的数据库引擎. 开源. Jav ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值