.NET 构造DataTable返回多个json值
有时候我们使用Ajax链接一般处理程序需要返回多个值,然而这些数据并非在一个查询表内,此时便想到构造一个虚拟的DataTable,这样就可以返回多个值了(当然有很多办法,这是其中一种 )。
首先我们需要准备一个 script 和一个 ashx 文件。
在script中写一个ajax用于接收返回来的数据,代码如下。
<script type="text/javascript">
$(function () {
$.ajax({
type: "post", //提交方式
url: "/ashx/PersonnelRegistrationForm.ashx", //一般处理程序的路径
data: { corpName: corpName, corpCode: corpCode }, //向后台传入的值
success: function (data) { //返回成功后将要做的事,这里是返回一个表
var datainfo = $.parseJSON(data); alert(datainfo[0].OrderNo); alert(datainfo[0].RowGuid); alert(datainfo[0].ResultNum);
},
error: function () {
alert('系统发生错误');
}
});
})
</script>
然后在名为PersonnelRegistratinForm一般处理程序进行数据处理,然后构造所需要的值将其返回。
#region 构造返回的表
DataTable table = new DataTable(); //构造表
DataColumn column1 = new DataColumn("ResultNum", Type.GetType("System.Int32")); //构造列及所对应的类型
DataColumn column2 = new DataColumn("OrderNo", Type.GetType("System.String"));
DataColumn column3 = new DataColumn("RowGuid", Type.GetType("System.String"));
table.Columns.Add(column1); //将列添加到table表中
table.Columns.Add(column2);
table.Columns.Add(column3);
DataRow dr = table.NewRow(); //table表创建行
dr["ResultNum"] = person_result;
dr["OrderNo"] = OrderNo;
dr["RowGuid"] = t_ROWGUID;
table.Rows.Add(dr); //将数据加入到table表中
string json = SerializerHelper.ToJsonString(table); //序列化json对象
context.Response.Write(json);
context.Response.End();
#endregion
构造table时可以使用简便写法:
DataTable table = new DataTable(); //构造表
table.Columns.Add("ResultNum", Type.GetType("System.Int32"));
table.Columns.Add("OrderNo", Type.GetType("System.String"));
table.Columns.Add("RowGuid", Type.GetType("System.String"));
DataRow dr = table.NewRow(); //table表创建行
dr["ResultNum"] = person_result;
dr["OrderNo"] = OrderNo;
dr["RowGuid"] = t_ROWGUID;
table.Rows.Add(dr); //将数据加入到table表中
这样前台的ajax就可以获取到返回过去的table了。当然别忘记引用命名空间
using System.Data; using System.Data.SqlClient; using System.Text;
.NET 构造DataTable返回多个json值的更多相关文章
- .NET 构造Class返回多个json值
上次总结使用DataTable返回多个值,后来看到一个小哥的返回方式和我的有所不同,便留意了一下.原来他构造一个Class,而我构造的是一个Table. 首先说说两者的区别:拿student举例,st ...
- Nginx根据用户请求的不同参数返回不同的json值
用户请求url:http://localhost:8000/getconfig?v=1.03.01,根据参数v=1.03.01或者其他的值返回不同的json值.如果用户请求不带该参数,则返回默认的js ...
- Mysql 返回JSON值属性的函数 (五)
本节中的函数返回JSON值的属性. JSON_DEPTH(json_doc) 返回JSON文档的最大深度.NULL如果参数为,则 返回 NULL.如果参数不是有效的JSON文档,则会发生错误. 一个空 ...
- ashx将datatable返回json数据
1.直接使用JsonConvert.SerializeObject().将datatable放入 输出字符串 下面是测试:用webform+ashx作为接口. public class GetJso ...
- .net和MVC中的json值和List<T>和DataTable的一些转换
1.List<T>集合转换为Json值 List<ReportModel> dtList = new List<ReportModel>(); JsonResult ...
- EasyUI - 一般处理程序 返回 Json值
使用 一般处理程序(ashx)返回Json值. 原始Json数组的格式: [ { ", "name":"张三", "sex":&q ...
- JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串;JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象
JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串:JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象
- C#中当服务器返回的数据json中key的值为数字类型,解决方案
客户端向服务器发送请求后,服务器返回了一个json格式的字符串但是格式中key的值有些事数字{"1000":"55555"}; 类似这种格式的话就不能直接转化成 ...
- DataTable ,XML和JSON相互转化
网上搜集的,保留下来了,有需要的拿去!private string DataTable2Xml(DataTable dt) { StringBuilder xmlBuilder = new Strin ...
随机推荐
- sys、os 模块
sys 模块常见函数 sys.argv #命令行参数List,第一个元素是程序本身路径 sys.exit(n) #退出程序,正常退出时exit(0) sys.vers ...
- python中的字符串
一.在python中,字符串是不可变类型 通过以下代码说明: >>> s = 'hello, world' >>> id(s) 2108634288304 > ...
- VBA汇总同目录下的所有工作簿数据到另一个工作簿,并进行统计
Sub clData() Dim ComputerCount As Object tms = Timer p = ThisWorkbook.Path & "\" f = D ...
- 20172306 2018-2019-2 《Java程序设计》第五周学习总结
20172306 2018-2019-2 <Java程序设计>第五周学习总结 教材学习内容总结 查找 查找中,我们对这些算法的实现就是对某个Comparable对象的数组进行查找 泛型声明 ...
- linux就该这么学,第五课,
今天讲的比较难理解,要重预习和复习 今天讲了2个多小进,主要讲了SHELL,shell的组成:第一行为脚本声明 #!/bin/bash ,第二行为脚本的注释信息,第三为 脚本的执行语句 接收用户参 ...
- IFrame跨域访问&&IFrame跨域访问自定义高度
1.IFrame跨域访问: http://blog.csdn.net/fdipzone/article/details/17619673 2.IFrame跨域访问自定义高度: 由于JS禁止跨域访问,如 ...
- Chapter3_操作符_直接常量和指数计数法
(1)直接常量 在程序中使用直接常量,相当于指导编译器,告诉它要生成什么样的类型,这样就不会产生模棱两可的情况.比如flaot a = 1f等,后缀表示告诉编译器想生成的类型.常用的后缀有l/L(lo ...
- 顺序队列(C语言)
#define Queue_MAX_SIZE 20 #define OK 1 #define ERROR 0 #include <stdio.h> #include <stdlib. ...
- 获得文件的CRC32值
使用方法:先调用init_crc32_tab生成查询表,再调用calc_img_crc获得文件的CRC值. #define Poly 0xEDB88320L//CRC32标准 ];//CRC查询表 / ...
- java安装jdk错误1316 指定的账户已存在
java安装jdk错误1316 指定的账户已存在 处理步骤: 1.卸载jdk,成功后重启 2.删除注册表中文件夹 (1)\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft文件夹 ...