使用jqgrid的C#/asp.net mvc开发者的福音 jqgrid-asp.net-mvc

你是否使用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变得更好!

时间: 2025-01-02 15:03:16

使用jqgrid的C#/asp.net mvc开发者的福音 jqgrid-asp.net-mvc的相关文章

【给中高级开发者】构建高性能ASP.NET应用的几点建议

早期阶段就要对应用进行负载测试 使用高性能类库 你的应用是CPU密集还是IO密集的 使用基于Task的异步模型,但要慎重 分发缓存和会话(session)状态 创建Web Gardens 巧妙地使用缓存和懒加载 不要在MVC视图中放C#代码 适当时使用Fire & Forget 为x64 CPU创建 使用服务器上的监视和诊断工具 分析运行中的应用 如果你在构建一个面向公众的web站点,那么在项目结尾时你想要实现的就是web负载性能良好.这意味着,你要确保你的产品在高负载下(50个并发用户或者每秒

ASP.NET MVC5(一):ASP.NET MVC概览

ASP.NET MVC概览 ASP.NET MVC是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. ASP.NET MVC模式简介 MVC将Web应用程序划分为三个主要的部分,以下是MSDN给出的定义: 模型(Model):模型对象是实现应用程序数据域逻辑的应用程序部件. 通常,模型对象会检索模型状态并将其存储在数据库中. 例如,Product 对象可能会从数据库中检索信息,操作该信息,然后将更新的信息写回到 SQL S

不用asp.net MVC,用WebForm照样可以实现MVC

在<避开WebForm天坑,拥抱ASP.Net MVC吧>这篇博客中我讲到了ASP.net WebForm由于一些先天的“诱导犯罪”的缺陷,现在用ASP.net MVC的公司越来越多.但是根据填写了"ASP.net MVC的免费网络公开课"调查表的统计,我们发现有一大半的人还没有使用过ASP.Net MVC,而没用过ASP.net MVC的人中竟然有很多人人是因为感觉ASP.Net 难.没时间学.调查表分析数据如下: 初看ASP.net确实难:复杂的路由机制. ViewDa

我要学ASP.NET MVC 3.0(十三): MVC 3.0 防止跨站点请求伪造 (CSRF) 攻击

我要学ASP.NET MVC 3.0(十三): MVC 3.0 防止跨站点请求伪造 (CSRF) 攻击 概述      众所周知,ASP.Net MVC程序在浏览器运行时产生了标准的Html标签,包括浏览器要发送的关键数据等内容都在Html内容里面,听起来不错,但是假如我们仿造类似的Html内容,更改里面关键数据,在浏览器运行起来会怎么样呢?好下面我们就做这样一个例子.       CSRF攻击例子 首先我们拿以前做好的person/edit作为例子 先看控制器代码 //初始页面        

ASP.NET路由应用及IIS配置(非MVC)

一.前后台代码: Global.cs: using System.Web.Routing; ... void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 //RegisterRoutes(); RegisterRoutes(RouteTable.Routes); } public static void RegisterRoutes(RouteCollection routes) { routes.MapPag

解读ASP.NET 5 &amp; MVC6系列(17):MVC中的其他新特性

原文:解读ASP.NET 5 & MVC6系列(17):MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句.默认的示例如下: @using BookStore @usi

学习ASP.NET MVC框架揭秘笔记-IIS/ASP.NET管道(一)

IIS/ASP.NET管道 ASP.NET MVC就是建立在ASP.NET平台基础上基于MVC模式的Web应用框架,深入理解ASP.NET MVC的前提是对ASP.NET管道式设计有深刻的认识.由于ASP.NET Web应用大都寄宿于IIS上,接下来会介绍3个主要的IIS版本对各自Web请求的处理方式. 1.3.1 IIS 5.x与ASP.NET IIS 5.x运行在进程InetInfo.exe中,该进程寄宿着一个名为World WideWeb Publishing Service(简称W3SV

【.NET特供-第三季】ASP.NET MVC系列:传统WebForm网站和MVC网站运行机制对比

本文以图形化的方式,从'运行机制'方面对比传统WebForm网站和MVC网站. 请参看以下图形: 一.运行机制 当我们访问一个网站的时候,浏览器和服务器都是做了哪些动作呢? (本文只是提供一个简单的运行过程,有兴趣的找资料研究一下复杂的网络过程.) (一)WebForm网站运行机制 假设为:www.baidu.com/index.aspx 1.Http请求(物理地址:index.aspx) ①发送请求 浏览器向服务器发送请求报文,此时由IIS虚拟目录接受.(通过配置过IIS,把网站挂载在服务器上

《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架,它支持3种不同的技术来创建websites(网站)和Web应用:他们分别是,Web Pages,Web Forms,和MVC.虽然MVC是一种非常流行的,有完整的用于软件开发模式理论的技术,但它在ASP.NET中却是一种新的技术. 目前最新的版本是2012年发布的ASP.NET MVC4.自从2008年发布