以前用ASP.NET WebForms的时候,要让一个Gridview支持AJAX,只要扔到一个Update Pannel里就行了,简单粗暴。然而,在MVC里,关于HTML细节的一切都要我们自己写了,没了Update Pannel这样的无脑控件,怎么快速完成一个AJAX Grid呢?

其实微软已经悄悄的在NuGet上放了一个名为“AjaxGridScaffolder”的包,只要用NuGet下载安装,就可以在你的项目里添加AJAX Grid了。它和别的MVC Scaffolder一样,是一种模板,可以根据你的数据库访问类(要求Entity Framework)以及实体类生成支持CRUD的Grid。效果如下:

具体构建方法如下:

1. 确保你的MVC3项目里添加了EntityFramework,并且根据你需要的数据库生成了edmx。

2. 你的网页上引用了JQuery(如果不引用,最后生成的模板只能用来查询)。

3. 在VS中选择Tools-Library Package Manager-Manage NuGet Package for Solution

4. 搜索并安装AjaxGridScaffolder

5. 选中Controller文件夹,右键,New,Controller

6. 在Template里选择“Ajax Grid Controller”,输入Controller的名称,并且选择对应的实体类和数据库访问类,然后点击Add

7. 数秒钟后,1个Controller和3个View文件就生成好了!大功告成。

这些生成的文件,代码风格都是非常良好的,易于维护,也值得学习!