一般处理程序页ashx 序列化 Json数组
json传递数组到一般处理程序页,序列化为实体类的方法,可以解决.ENT framework 3.5以前的项目,
3.5以后的项目可以用System.ServiceModel.Web和System.Runtime.Serialization解决,当然也可以使用这种方案。
下面是代码:
JS
function PurchaseAutonomy() {
var r = ;
var parmArr = new Array();
$("#dataTb tbody tr").each(function () {
var ch = $(this).children().eq().children().eq().attr("checked");
var num = $(this).children().eq().children().eq().val();
if (ch == true)
{
if (IsNum(num)) {
return false;
} else {
parmArr[r] = {
PRODUCT_ID: $(this).children().eq().text(),
PRODUCT_NAME: $(this).children().eq().text(),
ORG_ID: $(this).children().eq().children().eq().val(),
JS_PRICE: $(this).children().eq().children().eq().val(),
NOS_PRICE: $(this).children().eq().children().eq().val(),
PRODUCT_PRICE: $(this).children().eq().children().eq().val(),
PURCHASE_NUM: $(this).children().eq().children().eq().val()
};
r++;
}
}
});
if (r > ) {
$.MsgBox.Confirm("温馨提示", "生成预订单,确定继续吗?温馨提示", function () {
var a = parmArr;
$.ajax({
type: "POST",
url: "/DataServer/Purchase/PurchaseAdd.ashx",
data: { parmArr: JSON.stringify(parmArr),user_id:<%=user_id%>,bm_id:<%=bm_id%> },
datatype:"json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: function (result) {
if (result == "") {
$.MsgBox.Alert("提示", "生成采购计划成功!");
$("#dataTb tbody tr input[type='checkbox']").attr("checked",false);
$("#dataTb tbody tr input[name='purchase_num']").val("");
} else {
$.MsgBox.Alert("提示", "生成采购计划失败!");
return false;
}
}
});
});
} else {
$.MsgBox.Alert("提示", "请选择要处理的记录!");
return false;
}
}
ASHX 画面:
引用:using Newtonsoft.Json;
接收数组字符串:
String parmArr = context.Request.Form["parmArr"];
序列化为实体类
List<ET_PURCHASE_ITEM> list = new List<ET_PURCHASE_ITEM>();
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ET_PURCHASE_ITEM>>(parmArr);
实体类:
/// <summary>
/// ET_PURCHASE_ITEM:实体类(属性说明自动提取数据库字段的描述信息)
/// </summary>
[Serializable]
public partial class ET_PURCHASE_ITEM
{
public ET_PURCHASE_ITEM()
{ }
#region Model
private decimal? _org_id;
private decimal? _product_id;
private string _product_name;
private decimal? _js_price;
private decimal? _nos_price;
private decimal? _purchase_num=;
private decimal? _product_price; /// <summary>
///
/// </summary>
public decimal? ORG_ID
{
set { _org_id = value; }
get { return _org_id; }
}
/// <summary>
///
/// </summary>
public decimal? PRODUCT_ID
{
set { _product_id = value; }
get { return _product_id; }
}
/// <summary>
///
/// </summary>
public string PRODUCT_NAME
{
set { _product_name = value; }
get { return _product_name; }
}
/// <summary>
///
/// </summary>
public decimal? JS_PRICE
{
set { _js_price = value; }
get { return _js_price; }
}
/// <summary>
///
/// </summary>
public decimal? NOS_PRICE
{
set { _nos_price = value; }
get { return _nos_price; }
}
/// <summary>
///
/// </summary>
public decimal? PURCHASE_NUM
{
set { _purchase_num = value; }
get { return _purchase_num; }
} /// <summary>
///
/// </summary>
public decimal? PRODUCT_PRICE
{
set { _product_price = value; }
get { return _product_price; }
} #endregion Model }
Newtonsoft.Json.dll 下载地址
http://files.cnblogs.com/files/shuaichao/Newtonsoft.Json.rar
一般处理程序页ashx 序列化 Json数组的更多相关文章
- java list序列化json 对象、json数组
list<T> 序列化 json对象 ----------- JSONObject -------JSONObject.toJSONString(str); 解析:JSONObj ...
- json数组的序列化和反序列化json数组的序列化和反序列化
如题,我就不多说了,自己看代码的,很好理解 using System; using System.Collections.Generic; using System.Web; using System ...
- jQuery获取一般处理程序(ashx)的JSON数据
昨天有在开发的软件生产线生产流程,RFID扫描IC卡的数据,当中有用到jQuery获取一般处理程序(ashx)的JSON数据.今有把它写成一个小例子,望需要的网友能参考. 在网站中,创建一个一般应用程 ...
- C# Json数组序列化和反序列总结
1.创建json数组,例: JArray arrFile = new JArray(); arrFile.Add(new JObject() { new JProperty("FilePat ...
- JSON数组序列化C#方法
/// <summary> /// dataTable转换成Json格式 JSON对应关系 三层数组 /// </summary> /// <param name=&qu ...
- select绑定json数组对象 asp.net
ashx处理页 string JsonList = "["; IList<Models.Channel> ilist = BLL.ChannelManager.GetA ...
- 将JSON数组显示前台Table中
将JSON数组显示前台Table中 在最近的学习中遇到一个小问题,如何把JSON数组显示在前台的table中,经过一番借鉴和学习之后终于解决了这个问题.具体的代码如下: (前提:利用ajax获取过来的 ...
- 使用QtScript库解析Json数组例子
本文转载自:http://blog.sina.com.cn/s/blog_671732440100uwxh.html 使用qtscipt库解析json数组首先在工程文件中加 QT += ...
- 序列化json对象,通过ajax传入asp.net mvc后台
序列化json对象,通过ajax传入asp.net mvc后台 序列化json对象,通过ajax传入asp.net mvc后台 今天遇到一个问题,准备把组织好的json对象通过jquery.aja ...
随机推荐
- go+mysql实现页面的增删改查练习
原文地址:http://www.niu12.com/article/35 初次学go,在了解一些基础之后就开始做一个用户的增删改查来回顾知识,有很多数据验证和安全漏洞并没有考虑,只当作联系 前提:下载 ...
- 设计模式之装饰器模式(PHP实现)
/** * 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. * 这种模式创建了一个 ...
- Google Protocol Buffer安装编译及使用
近期玩了玩谷歌的Protocol Buffer.以下就简介下 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准.眼下已经正在使用的 ...
- 码云的GIT操作
git操作 git initgit add .git commit -m ""git remote add origin https://git.coding.net/jessei ...
- 3D数学读书笔记——矩阵基础番外篇之线性变换
本系列文章由birdlove1987编写.转载请注明出处. 文章链接:http://blog.csdn.net/zhurui_idea/article/details/25102425 前面有一篇文章 ...
- sql取随机结果集
应用场景: 某日,接产品姐姐需求,网站搜索页在搜索特定的内容时候,会现实搜索不到结果!如衣服网站,搜索鞋子等.为了不直接呈现一个赤裸裸的无此商品页面,so,需要在搜索商品件数小于3时,在下面随机推荐本 ...
- mac查看端口占用
Mac OS/Linux命令查询网络端口占用情况 netstat命令 netstat -an | grep 3306 3306替换成需要grep的端口号 lsof命令 通过list open fi ...
- es6 - filter for-chrome
'use strict'; let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; // 除去取余2的 - es6 let es5OddNumbers = numbers ...
- Java 调用存储过程、函数
一.Java调用存储Oracle存储过程 测试用表: --创建用户表 create table USERINFO ( username ) not null, password ) not null ...
- EFFECTIVE JAVA 第一天 静态工厂方法
静态工厂方法:(这里指的是就是普通static方法),类可以通过静态工厂方法提供给它的客户端,而不是通过构造器.提供静态工厂方法而不是公有构造器,这样做有几大优势. 在类的实现中使用了API的类被称为 ...