Jquery 组合form元素为json格式,asp.net反序列化
作者:敖士伟 Email:[email protected] 转载注明作者
说明: 1、js根据表单元素class属性,把表单元素的name和value组合为json格式;用表单元素class属性可以针对性地组合JSON数据。
2、后端ASP.NET用JavaScriptSerializer反序列化为对象实列。
3、好处:简化了前端数据读取与后端数据赋值。
ASP.NET
说明: 1、js根据表单元素class属性,把表单元素的name和value组合为json格式;用表单元素class属性可以针对性地组合JSON数据。
2、后端ASP.NET用JavaScriptSerializer反序列化为对象实列。
3、好处:简化了前端数据读取与后端数据赋值。
代码如下:
function GetJSONStr(class_name) { var a = []; //文本框 $("." + class_name).filter(":text").each(function(i) { //alert(this.name); //alert(this.value); a.push({ name: this.name, value: this.value }); }); //下拉列表 $("." + class_name).filter("select").each(function(i) { //alert(this.name); //alert(this.value); a.push({ name: this.name, value: this.value }); }); //单选框 $("." + class_name).filter(":radio").filter(":checked").each(function(i) { //alert(this.name); //alert(this.value); a.push({ name: this.name, value: this.value }); }); //复选框开始 var temp_cb = ""; $("." + class_name).filter(":checkbox").filter(":checked").each(function(i) { if (temp_cb.indexOf(this.name) == -1) { temp_cb += this.name + ","; } }); var temp_cb_arr = temp_cb.split(","); var cb_name = ""; var cb_value = ""; for (var temp_cb_i = 0; temp_cb_i < temp_cb_arr.length - 1; temp_cb_i++) { cb_name = temp_cb_arr[temp_cb_i]; var cb_value_length = $("input[name='" + temp_cb_arr[temp_cb_i] + "']:checked").length; $("input[name='" + temp_cb_arr[temp_cb_i] + "']:checked").each(function(i) { if (i == cb_value_length - 1) cb_value += this.value; else cb_value += this.value + ","; }); //alert(cb_name); //alert(cb_value); a.push({ name: cb_name, value: cb_value }); } //复选框结束 //组合为JSON var temp_json = ""; for (var json_i = 0; json_i < a.length; json_i++) { if (json_i != a.length - 1) { temp_json += '"' + a[json_i].name + '":"' + a[json_i].value + '",'; } else { temp_json += '"' + a[json_i].name + '":"' + a[json_i].value + '"'; } } return "{" + temp_json + "}"; }
ASP.NET
代码如下:
public partial class test : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { JavaScriptSerializer Serializer = new JavaScriptSerializer(); string r = Request.Form["msg"]; //{"Name":"MyName1","Single":"one"} t_json t_json_object = Serializer.Deserialize<t_json>(r); Response.Write(t_json_object.Name); Response.End(); } } class t_json { public DateTime Name; public string Single; }
相关推荐
Lzs 2020-10-23
xclxcl 2020-08-03
zmzmmf 2020-08-03
葫芦小金刚 2020-07-22
ericdoug 2020-07-18
Erick 2020-06-17
aanndd 2020-06-16
Erick 2020-06-17
aanndd 2020-06-16
xuebingnan 2020-06-13
80337960 2020-06-10
Jerry 2020-06-01
mengdg000 2020-05-29
spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00;
尹小鱼 2020-05-29
somebodyoneday 2020-05-15
visionzheng 2020-05-05
visionzheng 2020-05-04
igogo00 2020-05-03