<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="jqgridtest.aspx.cs" Inherits="WebNhibernate4.jqgridtest" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link id="uiThemes" rel="stylesheet" type="text/css" media="screen" href="Pub/jqgrid/css/ui-lightness/jquery-ui-1.8.13.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="Pub/jqgrid/css/ui.jqgrid.css" />
<script type="text/javascript" src="Pub/jqgrid/js/jquery-1.5.2.min.js"></script>
<script src="Pub/jqgrid/js/i18n/grid.locale-cn.js" type="text/javascript"></script>
<script src="Pub/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () { postData = { wangbf: 'test', company: 'fubo' }; jQuery("#list2").jqGrid({
url: 'JQGridService.asmx/JsonLinqData',
datatype: 'json',
mtype: 'POST',
//loadonce: true,
ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
postData:{wangbf:'1test',company:'fubo'},
serializeGridData: function (postData) {
return JSON.stringify(postData);
},
jsonReader: {
root: function (obj) {
var data = eval("(" + obj.d + ")");
return data.rows;
},
page: function (obj) {
var data = eval("(" + obj.d + ")");
return data.page;
},
total: function (obj) {
var data = eval("(" + obj.d + ")");
return data.total;
},
records: function (obj) {
var data = eval("(" + obj.d + ")");
return data.records;
}
},
colNames: ['Inv No', 'firstname', 'lastname'],
colModel: [
{ name: 'CustomerId', index: 'CustomerId', width: 55 },
{ name: 'Firstname', index: 'Firstname', width: 90 },
{ name: 'Lastname', index: 'Lastname', width: 100 }
],
rowNum: 10,
width: 600,
rowList: [10, 20, 30],
pager: '#pager2',
sortname: 'Firstname',
viewrecords: true,
sortorder: "asc",
caption: "JSON Example"
});
jQuery("#list2").jqGrid('navGrid', '#pager2', { edit: false, add: false, del: false });
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="list2" style="width:600px;"></table> <div id="pager2"></div>
</div>
</form>
</body>
</html> 注意:postData是用户自定的属性;
 
Webservice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using NHibernate;
using NHibernate.Criterion;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters; namespace WebNhibernate4
{
/// <summary>
/// JQGridService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class JQGridService : System.Web.Services.WebService
{ [WebMethod(EnableSession = true)]
public string JsonLinqData(bool? _search, string nd, int page, int rows, string sidx, string sord)
{ NHibernateHelper _helper = new NHibernateHelper();
ISession _session = _helper.GetSession();
ICriteria criteria = _session.CreateCriteria(typeof(Customer));
//criteria.SetMaxResults(25); if(sord=="asc")
{
criteria.AddOrder(Order.Asc(sidx));
}else
criteria.AddOrder(Order.Desc(sidx)); IList<Customer> lstCustomer = criteria.List<Customer>(); var jsonData = new
{
page = page,
total = Math.Ceiling(lstCustomer.Count / 10.0),
records =lstCustomer.Count ,
rows = (
from bl in lstCustomer
select new
{
id = bl.Customerid,
cell = new string[] {
bl.Customerid.ToString(),
bl.Firstname.ToString(),
bl.Lastname.ToString()}
}).ToArray()
}; return JsonConvert.SerializeObject(jsonData); } }
}

JQGrid+Webservice+LINQ的更多相关文章

  1. JQGrid+Nhibernate+Webservice+Linq

    先上效果图:   前台代码(jqgridtest.aspx): <%@ Page Language="C#" AutoEventWireup="true" ...

  2. z-albert之开启博文之路

    其实注册博客园已经蛮久的了,一直都只是停留在看,却没有自己动手一篇属于自己的技术博文.之所以以前一直没写,以前没有工作,一直都是小白.然而今天为什么感写了呢,并不是自己比以前懂得多多少,而是希望将自己 ...

  3. 一个简单的webservice的demo(下)winform异步调用webservice

    绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...

  4. jqgrid+bootstrap样式实践

    jqgrid+bootstrap样式实践,报错数据加载,选中,删除等功能 需要引入的样式 bootstrap.min.css ui.jqgrid.css 需要引入的JS jquery.min.js b ...

  5. 动态调用WebService

    WebService内容 using Microsoft.CSharp;using System;using System.CodeDom;using System.CodeDom.Compiler; ...

  6. C# 调用webservice 几种办法(转载)

    原文地址: http://www.cnblogs.com/eagle1986/archive/2012/09/03/2669699.html //=========================== ...

  7. C#调用WebService

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  8. WebService的开发、部署、调用

    本文参考其它文章和自己解决中间问题的经历记录,以C#开发WebService为例子,欢迎探讨: 一.C#开发WebService 在visual studio中新建ASP.NET Web服务应用程序, ...

  9. [译]MVC网站教程(四):MVC4网站中集成jqGrid表格插件(系列完结)

    目录 1.   介绍 2.   软件环境 3.   在运行示例代码之前(源代码 + 示例登陆帐号) 4.         jqGrid和AJAX 5.         GridSettings 6.  ...

随机推荐

  1. Golang学习 - io/ioutil 包

    ------------------------------------------------------------ // Discard 是一个 io.Writer 接口,调用它的 Write ...

  2. Django添加模型无法数据迁移解决方法

    用Django开发一款博客,按照教程一步步写下来,发现当我创建一个模型blogpost的时候,使用数据迁移 python manage.py migrate 提示 Operations to perf ...

  3. 基于linux2.6.38.8内核zImage文件的自解压详解

    转载:http://blog.csdn.net/wavemcu/article/details/7270439 ******************************************** ...

  4. WPF 之 跳转

    WPF的跳转有两种:一是windows窗体,另外一种是page页. 1.windows窗体跳转 1)先实例化目标窗体: 2)然后将目标窗体show(). 例如:有两个窗体Main和Login,要想点击 ...

  5. 3. Android框架和工具之 xUtils(DbUtils )

    1. xUtils简介 xUtils 包含了很多实用的android工具.xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓 ...

  6. mybatis--MapperScannerConfigurer

    一般我们这样配置 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryB ...

  7. 把Flume的Source设置为 Spooling directory source

    把Flume的Source设置为 Spooling directory source,在设定的目录下放置需要读取的文件,一些文件在读取过程中会报错. 文件格式和报错如下: 实验一 读取汉子和“:&qu ...

  8. nfa转dfa,正式完成

    为了加速转换的处理,我压缩了符号表.具体算法参考任何一本与编译或者自动机相关的书籍. 这里的核心问题是处理传递性闭包,transitive closure,这个我目前采取的是最简单的warshall算 ...

  9. HDU 1003 Max Sum && HDU 1231 最大连续子序列 (DP)

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  10. Win10 VMware虚拟机无法打开内核设备“\\.\Global\vmx86“

    前几项与Win7配置相同 用管理员模式打开CMD 运行 net start vmci net start vmx86 net start VMnetuserif 这三条命令 为了不用每次启动都这样,修 ...