Jquery 组合form元素为json格式,asp.net反序列化

时间:2024-05-21 10:11:56 

作者:敖士伟 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;
}
标签:Jquery,json
0
投稿

猜你喜欢

  • javascript解锁前端密码框常见功能做法

    2024-04-16 10:36:33
  • python自动化测试selenium核心技术三种等待方式详解

    2023-09-16 09:06:04
  • python实现的文件夹清理程序分享

    2021-07-20 07:58:57
  • python实现定时自动备份文件到其他主机的实例代码

    2023-04-26 09:30:52
  • Python 装饰器使用详解

    2021-09-02 05:41:01
  • vue3 自定义指令控制按钮权限的操作代码

    2024-05-09 15:08:59
  • Python实现将长图制作成一个视频

    2022-09-28 06:09:09
  • 自定义django admin model表单提交的例子

    2023-03-16 13:11:43
  • Python中的字典合并与列表合并技巧

    2021-01-02 06:07:35
  • 解决anaconda安装pytorch报错找不到包的问题

    2021-06-17 03:43:31
  • Python利用PyQT5设置闹钟功能

    2023-05-08 15:34:08
  • mac安装pytorch及系统的numpy更新方法

    2023-08-14 19:06:15
  • 网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法

    2023-08-13 00:26:58
  • Python实现的凯撒密码算法示例

    2022-10-14 08:47:28
  • python matplotlib:plt.scatter() 大小和颜色参数详解

    2021-09-26 04:56:28
  • python实现的简单文本类游戏实例

    2022-10-22 02:32:51
  • 基于scrapy的redis安装和配置方法

    2022-07-15 17:26:56
  • 15个设计得最糟糕最变态的CAPTCHA验证码

    2008-09-01 17:17:00
  • 利用Psyco提升Python运行速度

    2021-05-02 19:02:50
  • oracle数据库在客户端建立dblink语法

    2023-07-14 19:51:23
  • asp之家 网络编程 m.aspxhome.com