一般处理程序页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 ...
 
随机推荐
- Winform打砖块游戏制作step by step第二节---.画挡板
			
一 引子 为了让更多的编程初学者,轻松愉快地掌握面向对象的思考方法,对象继承和多态的妙用,故推出此系列随笔,还望大家多多支持. 预备知识,无GDI画图基础的童鞋请先阅读一篇文章让你彻底弄懂WinFor ...
 - openfire源码解读之将cache和session对象移入redis以提升性能
			
原文:http://blog.csdn.net/jinzhencs/article/details/50522322 前言: 目前我们的openfire服务器只能支撑单机2W 集群4W.(估测在线用户 ...
 - UVa221 Urban Elevations
			
离散化处理.判断建筑可见性比较麻烦.下面采用离散化解决:把所有的x坐标排序去重,在相邻两个x坐标表示的区间中,整个区间要么同时可见,要么同时不可见.如何判断该区间是否可见?具体做法是选取该区间中点坐标 ...
 - select自己定义属性值
			
select自己定义属性值 1.问题背景 下拉框能够传递值和内容,只是有时为了传值,还须要连带其它的值也一起传过来.假设用title属性.鼠标移到下拉框上方会显示出来,这样就会导致被暴露出来.所以,为 ...
 - 自助采样法 bootstrap 与 0.632
 - Keepalived高可用集群应用
			
Keepalived高可用集群应用 1.keepalived服务说明 1.1.keepalived介绍 Keepalived是一个用C语言编写的路由软件.该项目的主要目标是为Linux系统和基于Lin ...
 - USE [EPPM] [dbo].[REFRDEL_CLEANUP]
			
USE [EPPM] GO /****** Object: StoredProcedure [dbo].[REFRDEL_CLEANUP] Script Date: 2016/4/2 16:32:29 ...
 - EffectiveJava(6)消除过期对象的引用
			
消除过期对象的引用 过期引用 – 在操作集合类的时候,未清理过期的对象引用(即:过期引用),常会导致内存泄露.从而报outOfmemory错误. 1.过期对象导致内存泄漏. 2.一旦对象引用过期,清除 ...
 - git学习——查看提交历史
			
git log可以查看提交历史: 用-p选项展开显示每次提交的内容差异,用-2则仅显示最近两次的更新:git log -p -2 在-p选项后面使用--word-diff选项进行单词层面的对比.这其中 ...
 - C1:工厂模式 Factory
			
最常用的实例化对象模式,用工厂方法替代了实例化对象. 应用场景:A.一个类的子类经常面临着剧烈变化,但却拥有较稳定的接口,或者说拥有相同的接口.工厂方法定义一个用于创建对象的接口,让子类来决定创建那个 ...