.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 ...
随机推荐
- 整数中1出现的次数(从1到n整数中1出现的次数)(python)
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
- django 表单使用
Django提供对表单处理的支持,可以简化并自动化大部分的表单处理工作. 1 定义表单类 表单系统的核心部分是Django 的Form类. Django 的数据库模型描述一个对象的逻辑结构.行为以及展 ...
- 如何配置Java环境变量[转]
https://jingyan.baidu.com/article/fd8044fa2c22f15031137a2a.html
- js数组去除重复数据
一个有重复数据的数组,准备一个空数组,遍历有重复数据的数组同时用indexOf对比那个空数组判断是否有一样的,不一样的push进去空数组 let arr = dataInfo.map(item =&g ...
- .Net 获取日期所属于一年中的第几周
关键代码: public static int WeekOfYear(DateTime dt, CultureInfo ci) { //强制设置周一是每周的第一天 return ci.Calendar ...
- 学习pyyaml
网上查了一圈,觉得较好的yaml教程有: YAML 语言教程 :http://www.ruanyifeng.com/blog/2016/07/yaml.html. 另外,在github的pyyaml库 ...
- IOS内存管理详解
一. 基本原理 1. 什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空 ...
- boost--时间处理
date_time库的时间功能位于名字空间boost::posix_time,它提供了微妙级别(最高可达纳秒)的时间系统,使用需要包含头文件"boost\date_time\posix_ti ...
- Javascript学习之:JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于ECMAScript的一个子集,采用完全独立于语言的文本格式.这些特性使JSON成为理想的数据交换 ...
- SQL Server表分区(水平分区及垂直分区)
什么是表分区? 表分区分为水平表分区和垂直表分区,水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表:而垂直表分区就是把一个拥有多个字段的表,根据需要进行拆分列,然后根据某一个字 ...