jQuery Grid 能够在 ASP.NET MVC 中轻松地实现分页、 排序、 筛选以及 jQuery 插件网格中的 CRUD 操作。
具有以下特征:
-
时尚的表格数据呈现控件。
-
JavaScript 控件用于表示和处理 web 上的表格数据。
-
可启用 Ajax。
-
可以与任何 ASP、 JavaServelets、 JSP、 PHP 等服务器端的技术集成。
-
与 ASP.NET 集成,很简单。
-
支持分页、JavaScript 和服务器端数据源。
-
支持 jQuery UI 和引导(Bootstrap)。
要使用网格插件,则将需要一个 HTML 表标记为网格的基本元素顺序。建议用表的"数据源"属性,作为服务器端的源 URL 的位置标识。
1 | <table id= "grid" data-source= "@Url.Action(" GetPlayers ")" ></table> |
初始化表格作为网格中显示的字段:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | grid = $( "#grid" ).grid({ dataKey: "ID" , uiLibrary: "bootstrap" , columns: [ { field: "ID" , width: 50, sortable: true }, { field: "Name" , sortable: true }, { field: "PlaceOfBirth" , title: "Place Of Birth" , sortable: true }, { field: "DateOfBirth" , title: "Date Of Birth" , sortable: true }, { field: "Edit" , title: "" , width: 34, type: "icon" , icon: "glyphicon-pencil" , tooltip: "Edit" , events: { "click" : Edit } }, { field: "Delete" , title: "" , width: 34, type: "icon" , icon: "glyphicon- remove" , tooltip: "Delete" , events: { "click" : Remove } } ], pager: { enable: true , limit: 5, sizes: [2, 5, 10, 20] } }); |
简单的 CRUD 操作示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | function Add() { $( "#playerId" ).val( "" ); $( "#name" ).val( "" ); $( "#placeOfBirth" ).val( "" ); $( "#dateOfBirth" ).val( "" ); $( "#playerModal" ).modal( "show" ); } function Edit(e) { $( "#playerId" ).val(e.data.id); $( "#name" ).val(e.data.record.Name); $( "#placeOfBirth" ).val(e.data.record.PlaceOfBirth); $( "#dateOfBirth" ).val(e.data.record.DateOfBirth); $( "#playerModal" ).modal( "show" ); } function Save() { var player = { ID: $( "#playerId" ).val(), Name: $( "#name" ).val(), PlaceOfBirth: $( "#placeOfBirth" ).val(), DateOfBirth: $( "#dateOfBirth" ).val() }; $.ajax({ url: "Home/Save" , type: "POST" , data: { player: player } }) .done( function () { grid.reload(); $( "#playerModal" ).modal( "hide" ); }) .fail( function () { alert( "Unable to save." ); $( "#playerModal" ).modal( "hide" ); }); } function Remove(e) { $.ajax({ url: "Home/Remove" , type: "POST" , data: { id: e.data.id } }) .done( function () { grid.reload(); }) .fail( function () { alert( "Unable to remove." ); }); } function Search() { grid.reload({ searchString: $( "#search" ).val() }); } |
服务器端
在控制器中需要四种方法:索引、GetPlayers、保存和删除。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | [NoCache] public class HomeController : Controller { public ActionResult Index() { return View(); } [HttpGet] public JsonResult GetPlayers( int ? page, int ? limit, string sortBy, string direction, string searchString = null) { int total; var records = new GridModel().GetPlayers(page, limit, sortBy, direction, searchString, out total); return Json( new { records, total }, JsonRequestBehavior.AllowGet); } [HttpPost] public JsonResult Save(Player player) { new GridModel().Save(player); return Json( true ); } [HttpPost] public JsonResult Remove( int id) { new GridModel().Remove(id); return Json( true ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] public sealed class NoCacheAttribute : ActionFilterAttribute { public override void OnResultExecuting(ResultExecutingContext filterContext) { filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); filterContext.HttpContext.Response.Cache.SetValidUntilExpires( false ); filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache); filterContext.HttpContext.Response.Cache.SetNoStore(); base.OnResultExecuting(filterContext); } } |
本博客Android APP 下载 |
![]() |
支持我们就给我们点打赏 |
![]() |
支付宝打赏 支付宝扫一扫二维码 |
![]() |
微信打赏 微信扫一扫二维码 |
![]() |
如果想下次快速找到我,记得点下面的关注哦!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!