服务器再把GridView反构造成DataTable, 再给DataTable增加一行之后,绑定到GridView,然后发回客户端...
能不能简单一点呢?
在使用Ajax数据请求数据,通常都是简单格式,比如String,信息量较少。当然也可以请求回XML,但是XML数据冗余多,取到客户端处理比json麻烦的多。
能不能简单一点呢?
上面这些问题,如果DataTable与JSON类型可以方便的相互转换,都可以迎刃而解了。
优点:1)避免不必要的回传;
2)精简异步请求数据的大小 ;
3)解决数据量较大时,数据发送与接收繁琐的问题。
既然好处这么多,我们上代码吧。
前台代码:
复制代码 代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript">
//onload
$(function() {
//点击botton1
$("#botton1").click(function() {
var url = "default.aspx?ajax=1";
var dtb = generateDtb();
//序列化对象
var postdata = JSON.stringify(dtb);
//异步请求
$.post(url, { json: postdata }, function(json) {
createTable(json);
}, "json")
});
});
//生成DataTable对象
function generateDtb() {
var dtb = new Array();
for (var i = 0; i < 10; i++) {
var row = new Object();
row.col1 = i;
row.col2 = i % 2 == 0 ? true : false;
row.col3 = i + "he\nll\"ow";
dtb.push(row);
}
return dtb;
}
//显示Json中的数据
function createTable(json) {
var table = $("<table border='1'></table>");
for (var i = 0; i < json.length; i++) {
o1 = json[i];
var row = $("<tr></tr>");
for (key in o1) {
var td = $("<td></td>");
td.text(o1[key].toString());
td.appendTo(row);
}
row.appendTo(table);
}
table.appendTo($("#back"));
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="botton1" type="button" value="button" />
<div id="back">
</div>
</div>
</form>
</body>
</html>
后台代码:
/// <summary>
复制代码 代码如下:
/// 页面加载时
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
//判断是否异步请求
if (Request.QueryString["ajax"] == "1")
{
ProcessRequest();
}
}
/// <summary>
/// 处理异步请求
/// </summary>
private void ProcessRequest()
{
Response.ContentType = "text/html";
string json = Request.Form["json"];
//反序列化DataTable
DataTable newdtb = Json2Dtb(json);
//序列化DataTable为JSON
string back = Dtb2Json(newdtb);
Response.Write(back);
Response.End();
}
/// <summary>
/// DataTable转Json
/// </summary>
/// <param name="dtb"></param>
/// <returns></returns>
private string Dtb2Json(DataTable dtb)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = new ArrayList();
foreach (DataRow row in dtb.Rows)
{
Dictionary<string, object> drow = new Dictionary<string, object>();
foreach (DataColumn col in dtb.Columns)
{
drow.Add(col.ColumnName, row[col.ColumnName]);
}
dic.Add(drow);
}
return jss.Serialize(dic);
}
/// <summary>
/// Json转DataTable
/// </summary>
/// <param name="json"></param>
/// <returns></returns>
private DataTable Json2Dtb(string json)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = jss.Deserialize<ArrayList>(json);
DataTable dtb = new DataTable();
if (dic.Count > 0)
{
foreach (Dictionary<string, object> drow in dic)
{
if (dtb.Columns.Count == 0)
{
foreach (string key in drow.Keys)
{
dtb.Columns.Add(key, drow[key].GetType());
}
}
DataRow row = dtb.NewRow();
foreach (string key in drow.Keys)
{
row[key] = drow[key];
}
dtb.Rows.Add(row);
}
}
return dtb;
}
再附一个下载文件,觉得有用的可以下载看看
json.zip
相关推荐:
怎么分辨文章是不是AI写的?五大技巧揭开真相
2025年整站SEO排名优化策略:让你的网站脱颖而出,id排版ai
SEO元素-提升网站排名的核心要素,推广分成网站有哪些
ChatGPT界面看不到用户:隐秘的互动方式与智慧的背后,AI和UR
SEO职位:数字营销的核心,开启职业新高峰,汕尾网站建设推广厂商
seo要懂些什么软件,seo常用软件 ,ai写作网站网址大全
SEO范例:如何通过优化提升网站流量,获取更多商机,广州抖音seo搜索广告
文字写作AI生成工具:让创作更简单、更高效
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
AI缩写文本:助力智能生活的革新力量,ai智能写作生成神器下载
Chat启用后ESX连不上?解决方法一网打尽!,为什么AI续写这么离谱
ChatGPT为什么打不开?背后原因与解决方案,慧ai写作
AI免费生成文章让创作变得轻松自如
seo需要学会什么编程,seo要会些什么 ,剪映怎样加ai
企业SEO:如何通过搜索引擎优化提升企业网络竞争力,安阳网站优化布局设计
SEO架构:提升网站流量的核心策略,东营南江全平台营销推广
SEO优化:提升网站流量的终极指南,揭阳网站快速推广
什么是seo网络推广seo顾问,seo网络推广员 ,ai20170119
SEO怎么设置:让你的网站快速登上搜索引擎首页的秘密,Ai压印分色
文章AI排版,让创作更高效的秘密武器
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
ChatGPT360:全方位提升你的工作与生活效率,ai72787
SEO监控:精准把握网站排名与优化成效的利器,湖南seo排名商家名单
SEO优化排-打造高效的网络营销利器,精神AI
如何选择适合你的AI工具?全面解析AI工具哪个好用
优化文字,让表达更精准:提升写作效率的关键,个人网站建设外包
AI自动读文:让阅读更轻松、更高效的智能革命,寄ai空
SEO快速排名实例:如何通过实战技巧提升网站排名,快速突破流量瓶颈,安徽ai跑步机企业
ChatGPT错误处理与异常情况解决方法:让你的AI助手更加智能与可靠,智能ai鼠标ai智能语音
seo营销到底是什么,seo算什么营销 ,ai里面新建
GPT-3.5网页版:让你与人工智能零距离接触,ai英语学
从语言助手到智能生活伙伴,未来的智能助手如何改变我们的生活,网站建设分站公司
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
SEM+SEO:助力企业数字化营销的双剑合璧之道,ai头像丑
自动写文章AI:高效创作工具,开启写作新纪元
SEO中的别类词:提升排名,轻松超越竞争对手,ai插画生肖
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
交友群都有哪些,交友群是干什么的 ,ai猫csgo
SEO这种营销方式,改变你网站流量的秘密武器,佛山网站设计建设
ChatGPT出现错误503?你需要知道的解决方案和应对策略,ai拉伸字效
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
2025年SEO最新技术:让你的网站脱颖而出!,ai少女特色
SEO阶段解析:从入门到精通,助你站稳搜索引擎的前沿,网站建设特定开发
SEO很多,如何在竞争激烈的市场中脱颖而出?,在SEO优化中
ChatGPT出现报错503?这些解决办法你必须知道!,粉墨ai说唱
未来写作新方式原创AI文章的无限可能
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
智能AI写文章:高效创作新风尚
seo需要学些什么内容,学seo的基础 ,中国ai公司年收入
ChatGPT:智能对话开创新时代,ai做渐变直线