.前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication10.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="Scripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$.fn.GetPostData = function () {
var data = {};
var k = false;
$(this).find(".datacontrol").each(function (i, value) { var field = $(value).attr("name");
if (field == null) {
field = $(value).attr("id");
}
if (value.tagName == "INPUT") {
if (value.type == "checkbox") {
if ($(value).prop("checked") == true) {
if (data[field]) {
var a = +$(value).val();
if (a == "") {
a = "";
}
data[field] = data[field] + "," + a;
k = true;
} else {
var a = +$(value).val();
data[field] = ""
k = true;
}
}
}
else if (value.type == "radio") {
if ($(value).attr("checked") == true) {
data[field] = $(value).val();
k = true;
}
}
else {
if ($(value).val() != "") {
data[field] = $(value).val();
k = true;
}
}
} else if (value.tagName == "SELECT") {
if ($(value).val() != "") {
data[field] = $(value).val();
k = true;
}
}
else if (value.tagName == "DIV") {
data[field] = $(value).html();
k = true;
}
else if (value.tagName == "IMG") {
data[field] = $(value).attr("src");
k = true;
}
else if (value.tagName == "SPAN") {
data[field] = $(value).html();
k = true;
}
else if (value.tagName == "TEXTAREA") {
if ($(value).val() != "") {
data[field] = $(value).val();
k = true;
}
} });
if (!k) {
return null;
}
return data;
}
$(function () { $("#btn").on("click", function () {
//var postParam = new Object();
//alert($("#t1").val());
//postParam.t1 = $("#t1").val();
//postParam.t2 = $("#t2").val();
//postParam.t3 = $("#t3").val();
//postParam = JSON.stringify(postParam);
var postParam = $("#form1").GetPostData();
postParam = JSON.stringify(postParam);
$.post("webform1.aspx?_method=postParam&data="+postParam, function (data) { });
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<input type="button" id="btn" name="btn" value="点击我" />
<input type="text" id="t1" name="t1" value="t11" class="datacontrol"/>
<input type="text" id="t2" name="t2" value="t22" class="datacontrol"/>
<input type="text" id="t3" name="t3" value="t33" class="datacontrol"/>
</form>
</body>
</html> .后台代码 using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace WebApplication10
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
switch (Request["_method"])
{
case "postParam":
var dictionary = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string,string>>(Request["data"]);
break; }
}
}
}

jquery表单数据反序列化为字典的更多相关文章

  1. jquery表单数据验证扩展方法

    /** 表单数据验证 **/ $.fn.Validform = function () { var Validatemsg = ""; var Validateflag = tru ...

  2. 将表单数据转化为json数据

    /** * 将Form表单转成符合后台要求的json格式数据 * @param frm form表单Id * * @return json格式的数据 */function getFormJson(fr ...

  3. 序列化表单数据$("form").serializeArray()

    在做一个后台管理系统类似的项目中发现不能直接取得表单中的数值,于是想到先将表单数据转化为json,然后再用js从json中获取数据,那不就简单了吗? 于是我用了jquery的serializeArra ...

  4. Js:消息弹出框、获取时间区间、时间格式、easyui datebox 自定义校验、表单数据转化json、控制两个日期不能只填一个

    (function ($) { $.messageBox = function (message) { $.messager.show({ title:'消息框提示', msg:message, sh ...

  5. 将JSON反序列化为指定的.NET类型

    前言: 关于将JSON格式数据反序列化为指定的.NET类型数据常见的场景就是,关于网络请求获取请求成功的响应数据.本篇主要讲的的是如何通过使用Newtonsoft.Json中的JsonConvert. ...

  6. 将JSON字符串反序列化为指定的.NET对象类型

    目录导航: 前言: 方法一.在项目中定义对应的对象参数模型,用于映射反序列化出来的参数(复杂JSON字符串数据推荐使用): 方法二.直接将JSON字符串格式数据反序列化转化为字典数据(简单JSON字符 ...

  7. jQuery表单验证以及将表单序列化为json对象小练习

    jquery表单验证(非实时验证),同时,将表单序列化为json对象提交表单. <!DOCTYPE html> <html lang="en"> <h ...

  8. jquery ajax异步提交表单数据的方法

    使用jquery的ajax方法可以异步提交表单,成功后后台返回json数据,回调函数处理,可以不用刷新页面,达到异步的目的: 处理表单的数据可以用serialize()方法进行序列化,而如果提交的数据 ...

  9. jQuery对的表单数据序列化和校验

    jQuery对的表单数据序列化和校验 表单序列化 如果想让表单通过ajax异步提交,那么首先我们要通过js获取到每个表单中输入的值,如果表单项比较多的话,是一件很麻烦,很痛苦的事情,那么我们可以通过j ...

随机推荐

  1. 剑指offer-第六章面试中的各项能力(n个骰子的点数)

    题目:把n个骰子扔到地上,骰子之和为S,输入n,打印s所有可能的值出现的概率. 思路:由于骰子的点数为1~6,因此n个骰子之和的大小为n~6n之间.故可以定义一个数组来存放这6n-n+1个数出现的次数 ...

  2. springboot 自定义属性

    前言 spring boot使用application.properties默认了很多配置.但需要自己添加一些配置的时候,我们如何添加呢 1.添加自定义属性 在src/main/resources/a ...

  3. 解决 Flask-sqlalchemy 中文乱码

    当在使用 flask-sqlalchemy 操作 mysql 数据库时中文乱码或者直接报错. 解决方法如下: from flask_sqlalchemy import SQLAlchemy db = ...

  4. #51单片机#蓝牙模块(ATK-SPP-HC06从机串口)的使用方法

    #include <AT89X51.H> #include <intrins.h> // 函数原形定义 #define uchar unsigned char #define ...

  5. FIR数字信号滤波器

    数字滤波器 在信号处理领域中,对于信号处理的实时性.快速性的要求越来越高.而在许多信息处理过程中,如对信号的过滤.检测.预测等,都要广泛地用到滤波器. 其中数字滤波器具有稳定性高.精度高.设计灵活.实 ...

  6. Java-Runoob:Java 循环结构

    ylbtech-Java-Runoob:Java 循环结构 - for, while 及 do...while 1.返回顶部 1. Java 循环结构 - for, while 及 do...whil ...

  7. openstack及组件简要介绍

    为什要用云? 一.简单的说就是对资源更加合理的分配,使用,比如硬件的数量,带宽等等这些,因为你不能机器买来不需要了再卖掉(当然也可以),带宽跟机房签合同得来一年的,中间不够了也不能加,超了也不退钱 二 ...

  8. lnmp一键安装包,安装多版本php,并开启redis与swoole

    安装多版本的php sudo ./install.sh mphp Install ZendGuardLoader for PHP 7.1... unavailable now. Write ZendG ...

  9. 3 SpringBoot与微服务

    SpringBoot的使用? 化繁为简: Spring MVC 需要定义各种配置,配置文件多. SpringBoot的核心功能? 独立运行: java -jar XXX.jar (以前启动SPring ...

  10. python中对 函数 闭包 的理解

    最近学到 函数 闭包的时候,似懂非懂.迷迷糊糊的样子,很是头疼,今天就特意查了下关于闭包的知识,现将我自己的理解分享如下! 一.python 闭包定义 首先,关于闭包,百度百科是这样解释的: 闭包是指 ...