下面是我的jqgrid代码
$(function() {
jQuery("#jsonmap").jqGrid({
url: 'Handler.ashx',
datatype: "json",
colNames: ['Inv No', 'Name','Email'],
colModel: [{ name: 'id', index: 'id', width: 100},
{ name: 'name', index: 'name', width: 200 },
{ name: 'email', index: 'email', width: 200}],
rowNum: 10, rowList: [10, 20, 30],
pager: '#pjmap',
sortname: 'id',
viewrecords: true, sortorder: "desc",
jsonReader: { repeatitems: false, id: "0" },
caption: "JSON Mapping", height: '100%'
});
jQuery("#jsonmap").jqGrid('navGrid', '#pjmap', { edit: false, add: false, del: false,search:false });
});
{"page": 1,"total": 2,"records": 15,"rows": [{"id": 1, "name":"giri", "email":"giri"}, {"id": 2, "name":"ravi", "email":"giri"},{"id": 3, "name":"kumar", "email":"giri"}, {"id": 4, "name":"raju", "email":"giri"}, {"id": 5, "name":"madhu", "email":"giri"},{"id": 6, "name":"vivek", "email":"giri"}, {"id": 7, "name":"radha", "email":"giri"}, {"id": 8, "name":"krishna", "email":"giri"}, {"id": 9, "name":"raghu", "email":"giri"}, {"id": 10, "name":"bhaskar", "email":"giri"}, {"id": 11, "name":"bhaskar", "email":"giri"}, {"id": 12, "name":"bhaskar", "email":"giri"}, {"id": 13, "name":"bhaskar", "email":"giri"}, {"id": 14, "name":"bhaskar", "email":"giri"}, {"id": 15, "name":"subbu", "email":"giri"}]}
寻呼不起作用。谁能告诉我错误是什么? 谢谢...
您在 jqGrid 中使用的
url
将附加有关所需页面的信息。您需要使用 QueryString
的 HttpContext
集合来获取参数。之后你必须在服务器端实现数据的分页。
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
string pageToLoad = context.Request.QueryString["page"];
string rowsPerPage = context.Request.QueryString["rows"];
string sortIndex = context.Request.QueryString["sidx"];
string sortDirection = context.Request.QueryString["sord"]; //"asc" or "desc"
...
}
}
如果用户单击网格的下一页/上一页按钮,或者如果用户单击列标题对数据进行排序,则新请求将发送到服务器。因此,如果使用
datatype:'json'
或 datatype:'xml'
,服务器负责提供来自正确页面的数据。在分页之前,应该先对数据进行排序。
如果您在服务器端实现数据分页时遇到问题,您可以返回所有数据并将
loadonce:true
包含在jqGrid参数列表中。您应该了解,在使用情况下loadonce:true
,数据将从服务器加载仅一次。第一次加载后,datatype
参数将更改为'local'
。
我建议您(如果可能的话)使用 ASMX Web 服务或更好的 WFC 服务作为您 Web 的一部分,而不是使用非常古老的 ASP.NET Web Handler (ashx) 技术。