随着Web开发的不断进步,客户端控件的使用在减轻服务器负担方面发挥了重要作用。jQuery作为前端开发中一个强大的工具库,已经使得对服务器控件的依赖大大减少。在ASP.NET中,GridView控件曾是数据展示的首选,但随着开源的jQuery Grid的出现,开发者们开始探索新的实现方式。这些新的Grid控件通常使用JavaScript、jQuery、JSON、CSS和HTML,这些技术对于程序员来说并不陌生,因此他们无需学习新的插件即可实现这些Grid。
基于JSON的Grid控件在客户端执行以下操作:
同时,基于JSON的Grid控件在客户端和服务器端执行以下操作:
然后,JSON数据会在浏览器中现有的完整JSON数据中更新。通过jQuery重新创建标记。
要运行源代码,需要以下软件平台:
通过创建用于所有操作(插入、更新、取消、删除和在Grid中添加新数据行)的部分视图开始工作,但后来创建了一个基于JSON的Grid。所有代码都包含在源代码中。
在寻找使用MySQL与Entity Framework的智能技术时,收到了使用市场上可用的开源jQuery Grids的要求。在想,为什么应该学习插件的特性,而不是创建自己的Grid来操作JSON数据并完全控制代码呢?最终,找到了解决方案。这是一个开始,不久将会有更多的程序员友好且高效的插件可用。
以下是使用jQuery Grid替代ASP.NET GridView的一个简单示例。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery Grid 示例</title>
<link rel="stylesheet" href="path/to/jquery-ui.css">
<script src="path/to/jquery.min.js"></script>
<script src="path/to/jquery-ui.min.js"></script>
</head>
<body>
<table id="grid">
</table>
<script>
$(document).ready(function () {
$("#grid").jqGrid({
url: 'path/to/data.json',
datatype: 'json',
mtype: 'GET',
colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
colModel: [
{ name: 'id', index: 'id', width: 55 },
{ name: 'invdate', index: 'invdate', width: 90 },
{ name: 'name', index: 'name', width: 100 },
{ name: 'amount', index: 'amount', width: 80, align: "right" },
{ name: 'tax', index: 'tax', width: 80, align: "right" },
{ name: 'total', index: 'total', width: 80, align: "right" },
{ name: 'note', index: 'note', width: 150, sortable: false }
],
rowNum: 10,
rowList: [10, 20, 30],
pager: '#pager',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
editurl: 'path/to/edit',
caption: "jQuery Grid 示例"
});
});
</script>
</body>
</html>