- 前台对象的获取,根据用的地方不同,一个示例代码
通过Save方法能把数据转换成一个字符串,通过Ajax或者其他方法传递到后台进行处理、保存。
function Save() { var arrObj = []; for(var i = 0; i < values.length; i++) { var value = values[i]; var obj = new Object(); obj.ID = value .id; obj.SourceID = value .source.id; obj.TargetID = value .target.id; arrObj.push(obj) } var arrObjStr = obj2str(arrObj);}functon obj2str(o) { var r = []; if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\""; if (typeof o == "undefined") return ""; if (typeof o == "object") { if (o === null) return "null"; else if (!o.sort) { for (var i in o) r.push(i + ":" + this.obj2str(o[i])) r = "{" + r.join() + "}" } else { for (var i = 0; i < o.length; i++) r.push(this.obj2str(o[i])) r = "[" + r.join() + "]" } return r; } return o.toString();}
- 传递到后台的格式
[{ID:"id1",SourceID: "SourceID1",TargetID:"TargetID1"},{ID:"id3",SourceID: "SourceID3",TargetID:"TargetID3"},{ID:"id3",SourceID: "SourceID3",TargetID:"TargetID3"}]
下面是fiddler的截图
- 后台解析保存方法
下面代码是把string转换成Object[]的方法,并且取到没一个值,然后随意你怎么保存了!
//需要添加System.Web.Extensions的引用,并且需要是.NETFrameWork3.5或者4(非Client Profile)using System.Web.Script.Serialization;
JavaScriptSerializer serializer = new JavaScriptSerializer();var arrObj = (object[])serializer.DeserializeObject(arrObjStr); foreach (var item in arrObj ) { DictionarytempObj = (Dictionary )item; string id = tempObj["ID"].ToString(); string socurceIDStr = tempObj["SourceID"].ToString(); string targetIDStr = tempObj["TargetID"].ToString();}