asp.net MVC接收前端传递的复杂json对象的简单处理方法
有时候,我们需要从页面传递一组数据到后台,但同时又需要传递几个独立的参数,这种情况很伤脑筋。
网上有各种各样的说法和办法,但都不好用,或没有说到关键的地方。
还有的建议传字符串后台格式化或解析,也有专门写一个切面程序修改mvc自带的格式化方法的,等等,都不是想要的东东。
我需要的是一个简简单单,不做任何改动就能实现的方法。
今天遇到这个问题,反复调试了好多次,终于找到了最简单的方法,什么都不用改,直接传递,直接接收
现在记录下来,给大家参考参考:
一. 前端js提交方法:
function submit(group, quarter) {//这里只是个例子,不要关注业务,只看提交的数据格式就好
var list = $('#tttt').find('.on'),
dt = { 'Quarter': quarter, 'Group': group, 'Streses': [] };
for (var i = 0; i < list.length; i++) {
var t = $(list[i]),
v = parseInt(t.attr('idx') || 0, 10),
p = t.parent().parent(),
title = p.children().first().html();
dt.Streses.push({ 'Name': title, 'Level': v });
}
myAjax('/Stress/save', dt, null, function (re) {
if (re.Code == 'Success') {
location.href = 'yyyyy';
}
});
}
二.后台action接收方法:
[HttpPost]
public ActionResult Save(StressModel stress)
{
//do something...
return View(ReMsg);
}
public class Stress
{
public string Name { get; set; }
public int Level { get; set; }
}
public class StressModel
{
public int Quarter { get; set; }
public string Group { get; set; }
public List<Stress> Streses { get; set; }
}
看看实际运行的结果:
这里需要特别注意的一点就是,.接收对象本身字段可以跟json不完全对应,这点大家都知道,但里面的列表对象,却必须完全对应!
我之前就是卡在这里,导致各种不理解,各种不成功。。。
其实一旦找到规律,真的是很简单,对不对
智能推荐
[java][事务]tcc事务实战学习过程
学习项目:https://github.com/14251104246/spring-cloud-rest-tcc 下载源码,进入源码目录运行:mvn clean package Docker Compose运行 docker-compose -f infrastructure-compose.yml up -d docker-compose -f basic-ms-compose.yml up ...
[学习记录,]Mybatis入门
环境: Eclipse 2019 Tomcat 9.0 jdk1.8 开搞 首先创建工程 结构如下 导入Jar包 可在mybatis官网下载 http://www.mybatis.cn/82.html 配置文件mybatis-config.xml 事务管理有两种:JDBC和MANAGED JDBC: MANAGED 数据源类型:UNPOOLED、POOLED、JNDI 创建实体类文件User.ja...
Bridging signals
Bridging signals Time Limit: 1000MSMemory Limit: 10000K Total Submissions: 10926Accepted: 5982 Description 'Oh no, they've done it again', cries the chief designer at the Waferland chip factory. Once ...
一天一大 leet
一天一大 leet 题目(难度:困难): 示例 抛砖引玉 官方答案 高手在民间 菜鸡的自白 20200606 题目(难度:困难): 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例 示例 抛砖引玉 要求算法的时间复杂度为 O(n),即限制了只能循环一次; 先对数组排序 循环数组记录后一个元素等于前一个元素+1或者等于前一个元素的数量 满足条件++,不然重...
猜你喜欢
Tensorflow实现的CNN文本分类
https://blog.csdn.net/somtian/article/details/69359498 原博文, github 在这篇文章中,我们将实现一个类似于Kim Yoon的卷积神经网络语句分类的模型。 本文提出的模型在一系列文本分类任务(如情感分析)中实现了良好的分类性能,并已成为新的文本分类架构的标准基准。 本文假设你已经熟悉了应用于NLP的卷积神经网络的基础知识。 如果没有,建议...
JDBC新手入门教程
开发工具:idea 数据库:mysql jar包:junit-4.10 mysql-connector-java-8.0.18 junit-4.10下载 mysql-connector-java-8.0.18下载 注意1:jdbc的驱动因为使用的是mysql-connector-java-8.0.18,所以为(“com.mysql.cj.jdbc.Driver”),而不是(...
Lua 排序 table.sort
正如C#中有Array.Sort(),lua中也有自己的排序方法即table.sort(table,function)。 lua中的排序默认是从大到小的排序; 传入一个方法参数,可以使排序从小到大; 打印结果: ...
SURF算法简述及Python标记SURF特征检测实践
目录 一、SURF算法 1.算法简介 2.SURF与SIFT的具体差异 二、Python代码实践 1.测试环境 2.测试代码 3.核心函数 4.测试结果 一、SURF算法 1.算法简介 SURF(Speeded-Up Robust Features)加速稳健特征,是一种稳健的局部特征点检测和描述算法。 SURF是对SIFT算法的改进,该算子在保持 SIFT 算子优良性能特点的基础上,同时解决了 S...
Selenium3自动化测试——19.读取数据文件
1. 实现目标 在测试与开发中,经常需要对文件进行各种读取操作。这里介绍针对txt、csv、xml、json文件的读取。 2. 读取TXT文件 2.1 user_info.txt文件 2.2 读取txt文件.py 2.3 实现结果 3. 读取csv文件 3.1 user_info.csv 这里要注意,csv文件本身打开是utf-8的,而不是乱码 3.2 读取csv文件.py 这里,针对...