一般处理程序页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 ...
随机推荐
- 使用canvas制作的移动端color picker
使用canvas制作的移动端color picker 项目演示地址(用手机或者手机模式打开) 我在另一个中demo,需要用到color picker,但是找不到我需要的移动端color picker, ...
- ios学习流水账2
1.UISearchBar自定义背景.取消按钮中文设置 UISearchBar *seachBar=[[UISearchBar alloc] init]; //修改搜索框背景 seachBar.bac ...
- Kubernetes 针对资源紧缺处理方式的配置
如何在资源紧缺的情况下,保证 Node 的稳定性,是 Kubelet 需要面对的一个重要的问题.尤其对于内存和磁盘这种不可压缩的资源,紧缺就相当于不稳定. 在kubelet启动作为参数或者在配置文件中 ...
- ylb:事务处理
ylbtech_sqlserver --1.定义三个变量分别保存你的姓名,年龄和身高,然后赋值并且输出 --DECLARE @name varchar(10) , @age int , @height ...
- Jsp中如何在<c:forEach>标签内获取集合的长度
利用jstl标签functions的prefix属性的length属性值 1.首先在jsp页面导入jstl function标签 <%@ taglib prefix="fn" ...
- MySql中文乱码问题(3)
MySql的client是在dos界面上,然而dos界面默认的字符集编码方式是:GBK (1).MySql字符转换原理图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi ...
- mongoDB - 插入数据
db.use.js /** * 使用前:先安装node环境.express.mongodb. * * 1.1 安装Node * 1.2 npm i -D express mongodb &&a ...
- Laravel之Eloquent ORM访问器调整器及属性转换
一.查询构建器的get方法 查询构建器的get方法返回了一个集合 $users = App\User::where('active', 1)->get(); foreach ($users as ...
- Windows操作系统设置代理
1.打开控制面板 2.点击网络和Internet 3.点击Internet选项 4.点击连接Tab页 5.点击局域网设置 6.选中代理服务器 7.输入代理的地址和端口号
- 跟踪运行时错误 vue
如果在组件渲染时出现运行错误,错误将会被传递至全局 Vue.config.errorHandler 配置函数 (如果已设置).利用这个钩子函数来配合错误跟踪服务是个不错的主意.比如 Sentry,它为 ...