Jquery 组合form元素为json格式,asp.net反序列化
发布时间:2020-12-15 20:44:48 所属栏目:asp.Net 来源:网络整理
导读:作者:敖士伟 Email:ikmb@163.com 转载注明作者 说明: 1、js根据表单元素class属性,把表单元素的name和value组合为json格式;用表单元素class属性可以针对性地组合JSON数据。 2、后端ASP.NET用JavaScriptSerializer反序列化为对象实列。 3、好处:简化了前
作者:敖士伟 Email:ikmb@163.com 转载注明作者 说明: 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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 通过asp.net 4.0中的“EnableViewState”和“ViewStateMode
- asp.net-mvc-4 – 以复杂对象为参数的Web API获取方法
- asp.net-mvc – 复杂视图模型中的多个表单 – 如何只绑定其
- asp.net-mvc – 什么是ASP.NET MVC不适合?
- asp.net-mvc – 第一次只触发了Ajax.ActionLink
- Asp.net Response.Write在ascx / aspx文件中
- razor – ASP.NET mvc使用IEnumerable模型和输入标记帮助器
- asp.net-mvc – MVC Model Binding不适用于Kendo Grid
- ASP.NET页面事件 – 在GridView绑定之后发生按钮单击事件
- 在ASP.NET中,获取基本UR1请求的最快方法是什么?