1.通過serialize()方式傳遞json數據
注意:前端html表單 name值應該為后台類中的字段名稱 例如:<input name="S_類字段名稱" type='text' id="S_類字段名稱" />
1.1 js

var x = encodeURI(jQuery("#xmfs input,select,textarea").serialize()); jQuery.ajax({ type: "POST", url: "../Handler/zHandler.ashx?Action=AddRew", data: x, success: function (datad) { alert("提交成功!"); }, dataType: "json" });
1.2 cs通過類獲取post提交的數據
L_CPROJECT project = new L_CPROJECT(); Type Pproject = project.GetType(); GetFormValue(project, Pproject);//處理附件問題
1.3 GetFormValue 方法

private void GetFormValue(object project, Type Pproject) { foreach (string item in con.Request.Form.AllKeys) { PropertyInfo cons = Pproject.GetProperty(item.Replace("S_", "")); //表單內的input等的name值命名規范為S_類字段名 if (cons != null) { var valtype = cons.PropertyType; //判斷convertsionType是否為nullable泛型類 if (valtype.IsGenericType && valtype.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) { //如果type為nullable類,聲明一個NullableConverter類,該類提供從Nullable類到基礎基元類型的轉換 System.ComponentModel.NullableConverter nullableConverter = new System.ComponentModel.NullableConverter(valtype); //將type轉換為nullable對的基礎基元類型 valtype = nullableConverter.UnderlyingType; } string text = HttpUtility.UrlDecode(Request.Form[item].Trim()); cons.SetValue(project, Convert.ChangeType(text, valtype), null); } } }
2.通過JSON.stringify(data) 多條數據傳遞
注意:arr.push({ SUBID: doc.attr("su"), PURID: 12, SU: doc.val(),SU:12 })中的每個name與L_CSECTION類中的字段名稱對應
js:JSON.stringify(arr)

var arr = new Array(); jQuery(".new").each(function (index, link) { var doc = jQuery(this).find(".thisid"); arr.push({ SUBID: doc.attr("su"), PURID: 12, SU: doc.val(),SU:12 }); }); jQuery.ajax({ type: "POST", url: "../Handler/zProjndler.ashx?Action=AddSUBPACKAGE", data: JSON.stringify(arr), success: function (datas) { }, dataType: "json" });
cs
var sr = new StreamReader(Request.InputStream); var stream = sr.ReadToEnd(); List<L_CSECTION> _list = jsonHelp.getObjectByJson<L_CSECTION>(stream); for (int i = 0; i < _list.Count; i++) { //對數據進行操作 }
jsonHelp

public static class jsonHelp { internal static List<T> getObjectByJson<T>(string jsonString) { // 實例化DataContractJsonSerializer對象,需要待序列化的對象類型 DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(List<T>)); //把Json傳入內存流中保存 MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)); // 使用ReadObject方法反序列化成對象 object ob = serializer.ReadObject(stream); List<T> ls = (List<T>)ob; return ls; } }