你是否使用jqgrid?

你是否想在C#/asp.net mvc中使用jqgrid?

那你很可能曾经为了分析jqgrid的request url用fiddler忙活了2个小时。(如果你要使用jqgrid的search功能的话)

那你很可能为了jqgrid的CRUD和search功能写了几百行C#代码。还不确定有没有bug。

如果你有如上的痛苦经历,那么 jqgrid-asp.net-mvc就是你的福音拉。

jqgrid-asp.net-mvc是一个host在github的C#开源项目。它在github的地址是https://github.com/weiminye/jqgrid-asp.net-mvc

jqgrid-asp.net-mvc的口号是“写最少的代码去使用jqgrid”

使用jqgrid-asp.net-mvc有如下好处,从而能够节省你至少8小时的工作时间和减少bug:

没使用jqgrid-asp.net-mvc 使用jqgrid-asp.net-mvc后 节省了你的时间
你要花时间用fiddler分析jqgrid的request url 不需要花时间用fiddler分析jqgrid的request url 2个小时
你要写很多的与jqgrid相关的C#代码 马上节省了至少500行代码 6个小时
如果jqgrid更新了,你也要跟着更新你的代码 你不需要更新你的代码,只需要更新jqgrid asp.net mvc .dll引用 不可计数
因为你的代码只汇聚了你一个人的经验可能会导致你所不知道的bug jqgrid asp.net mvc是个开源项目,所以能汇聚全世界码农的经验,从而尽量减少bug 不可计数

说完了为什么要使用jqgrid asp.net mvc和使用jqgrid asp.net mvc的好处外。

下面说说如何使用jqgrid asp.net mvc。

使用jqgrid asp.net mvc很简单,就如下几个步骤:

  1. 首先,去jqgrid asp.net mvc的github站点 https://github.com/weiminye/jqgrid-asp.net-mvc下载源代码到本地进行编译
  2. 编译通过后,打开jqgrid-asp.net-mvc\jqgrid-asp.net-mvc\bin\Debug目录
  3. 添加jqgrid-asp.net-mvc.dll到你的asp.net mvc项目中. 注意: 为了让全世界更多开发者把jqgrid asp.net mvc变得更好,jqgrid asp.net mvc不会在NuGet上host dll,所以只能通过下载源代码编译的方式来获得dll。直到有一天,jqgrid asp.net mvc觉得已经做得足够好了,可以出来见人了,可以被人摧残了,就会host在NuGet上。
  4. 打开你要使用JqGrid的controller类.
  5. 在文件头添加如下引用:
    using jqgrid_asp.net_mvc;
  6. 按照如下格式写你要被JqGrid在JavaScript中调用的read和search方法。注意:不要修改方法中的参数名
     1 #region jqgrid read and search
    2
    3 public ActionResult IndexJsonList(bool _search, string nd, int? rows, int? page, string sidx, string sord, jqgrid_asp.net_mvc.Filter filters)
    4 {
    5 return JqGrid.Load(
    6 db.Persons, //替换成你自己的业务逻辑代码
    7 d => d.FirstName,//替换成你自己的业务逻辑代码
    8 s => new //替换成你自己的业务逻辑代码
    9 {
    10 s.ID,
    11 s.FirstName,
    12 s.LastName,
    13 s.City,
    14 s.Zip,
    15
    16 }, rows, page, _search, ref filters);
    17
    18 }
    19
    20 #endregion
  7. 按照如下格式写你要被JqGrid在JavaScript中调用的Update方法。注意:不要修改方法中的参数名
    1 public ActionResult UpdateForJqGrid(Person person, string oper)
    2 {
    3 return JqGrid.UpdateForJqGrid(person, oper, AddPerson, EditPerson, DeletePerson);
    4 }
  8. 按照如下格式写你自己的添加、修改、删除业务逻辑方法。
     1 private ActionResult AddPerson(Person person)
    2 {
    3 //替换成你自己的业务逻辑代码
    4 var newpersonentity = new Person();
    5 newpersonentity.FirstName = person.FirstName;
    6 newpersonentity.LastName = person.LastName;
    7 newpersonentity.City = person.City;
    8 newpersonentity.Zip = person.Zip;
    9
    10 db.Persons.Add(newpersonentity);
    11 db.SaveChanges();
    12
    13 return Content("Add success");
    14 }
    15
    16 private ActionResult EditPerson(Person person)
    17 {
    18 //替换成你自己的业务逻辑代码
    19 var editpersonentity = db.Persons.Single(p => p.ID == person.ID);
    20 editpersonentity.FirstName = person.FirstName;
    21 editpersonentity.LastName = person.LastName;
    22 editpersonentity.City = person.City;
    23 editpersonentity.Zip = person.Zip;
    24
    25 db.SaveChanges();
    26
    27 return Content("Update success");
    28
    29 }
    30 private ActionResult DeletePerson(Person person)
    31 {
    32 //替换成你自己的业务逻辑代码
    33 var deletepersonentity = db.Persons.Single(p => p.ID == person.ID);
    34 db.Persons.Remove(deletepersonentity);
    35
    36 db.SaveChanges();
    37
    38 return Content("Delete success");
    39 }
  9. 编译你的解决方案。你就可以检验一下你使用jqgrid asp.net mvc的成果了。

如果以上步骤你还看不明白,可以参考jqgrid-asp.net-mvc.demo.web下面的Controllers\HomeController.cs 文件。

看,就这么简单!是否实现了jqgrid-asp.net-mvc的口号 - “写最少的代码去使用jqgrid” 呢?

如果你对jqgrid-asp.net-mvc有什么问题,有什么不满,有什么意见的话,就在这篇文章 (http://www.cnblogs.com/adalovelacer/p/4176132.html)这里留言吧,我会解答你的。因为我知道你的 意见会令jqgrid-asp.net-mvc变得更好,欢迎拍砖!

哦?是否奇怪为什么我能够解答你?因为我就是jqgrid-asp.net-mvc的创建者阿! :)

首先,我作为一个2010年就人肉FQ去了硅谷的码农,我做开源项目当然是用英文为第一语言。但是!我始终记得,我是一个中国人,很多年前,我也和 大家一样,在广州,在北京,苦苦挣扎,我还记得那时候因为英文不好,遇到问题只能够找中文资料的痛苦。所以我这次专门跑来cnblogs为jqgrid- asp.net-mvc建立一个中文教程和页面,就是希望大家不要再有当年我一样的痛苦了。我希望祖国的码农们也能和美帝的码农同步共享jqgrid- asp.net-mvc的进步。

所以如果你觉得jqgrid-asp.net-mvc很赞,请支持我,去jqgrid-asp.net-mvc的github上https://github.com/weiminye/jqgrid-asp.net-mvc按照如下那样点个赞,就是点那个Star星星

你也可以到我的Github https://github.com/weiminye 上follow我,这样我一更新代码你就能看到。我会有更多的开源项目,jqgrid-asp.net-mvc只是我第一个开源项目而已。

当然更希望你能够捐献你的代码让jqgrid-asp.net-mvc变得更好!

最新文章

  1. 初试Nodejs——使用keystonejs创建博客网站2(修改模板)
  2. PCM(Pulse-code modulation)脉冲编码调制
  3. 微软虚拟学院MVA 字幕获取方法
  4. 套路!从Ruby 到 Cocoapods的发布
  5. 定位程序问题的方法 -- clwu
  6. 2014-08-04 BBS主页页面的设计
  7. Redis slowlog
  8. cocos2d-x删除本地存储的文件UserDefault.xml方法——白费
  9. android 如何将电话簿SDN数字和其他普通的数字混合在一起?
  10. centos7使用cobbler(2.8)批量部署操作系统之一
  11. RESTful摘要
  12. tcp 三次握手 四次挥手
  13. 在pycharm中每次运行代码不使用console而使用run
  14. viewpager显示图片的Adapter
  15. golang web框架 beego 学习 (二) router and controller
  16. js正则表达式汇集
  17. 多目标跟踪方法 NOMT 学习与总结
  18. Linux Tomcat 7.0 管理员登录时"401 Unauthorized" 问题解决方法
  19. js实现限制上传文件大小
  20. Spring MVC 中 AJAX请求并返回JSON

热门文章

  1. 从客户端中检测到有潜在危险的 Request.Form 值 --MVC
  2. 分享一个递归无限级拼接Json的方法---ExtJs的TreePanel和TreeGrid均适用(Ef,Lambda,Linq,IQueryable,List)
  3. C# 模拟登陆并继续访问其他页面
  4. Widget的点击事件
  5. python 局部变量和全局变量 global
  6. [转]以Facebook为案例剖析科技公司应有的工具文化
  7. Java并发编程:synchronized
  8. MVC-自定义HttpModule处理
  9. HDU 4745---Two Rabbits(区间DP)
  10. 【Effective Java】8、优先考虑类型安全的异构容器