Asp.Net Mvc表单提交之List集合
一、说明
1.Asp.Net Mvc中Action的参数可以自动接收和反序列化form表单的值,
2.对于name=value类型,只要Action参数的变量名和input的name相同就行,不区分大小写
3.对于Model类型的,只要Action参数Model的字段名和input的name相同就行,不区分大小写
4.对于List类型,如下
二、List 基础数据类型提交
Html代码
<div class="panel panel-default"><div class="panel-heading"><div class="panel-title"> List 基础数据类型提交</div></div><div class="panel-body"><form action="@Url.Action("TestOne")" method="post"><div class="form-group"><input name="name" value="张三" /></div><div class="form-group"><input name="name" value="李四" /></div><input class="btn btn-success" type="submit" value="提交" /></form></div> </div>
Action接收
public JsonResult TestOne(List<string> name) {return Json(name); }
参数传递:
显示结果:
三、List<Model>类型提交json数组
<div class="panel panel-default"><div class="panel-heading"><div class="panel-title"> List<Model> 数据类型提交(一)</div></div><div class="panel-body"><form action="@Url.Action("TestTwo")" method="post"><table><thead><tr><th>ID</th><th>Name</th></tr></thead><tbody><tr><td><input name="ID" value="1" /></td><td><input name="Name" value="张三" /></td></tr><tr><td><input name="ID" value="2" /></td><td><input name="Name" value="李四" /></td></tr></tbody></table><input type="submit" class="btn btn-success" id="submit1" value="提交" /></form></div> </div>
使用Ajax提交
$('#submit1').click(function () {var form = $(this).parents('form');var result = [];form.find('tbody tr').each(function () {var thisItem = $(this);result.push({ID: thisItem.find("input:eq(0)").val(),Name: thisItem.find('input:eq(1)').val()})});$.post(form.attr('action'), {stuList: result, //直接提交json数组}, function (data) {alert(data);});return false;});
后台action接收处理
public JsonResult TestTwo(List<Student> stuList) {return Json(stuList); }
参数传递:
四、List<Model>类型提交之json数组字符串
HTML内容同上,
整合json数组,以字符串格式传递
$('#submit2').click(function () {var form = $(this).parents('form');var result = [];var data = form.serializeArray();for (var i = 0; i < data.length; i++) {var item = data[i];var stu_i = Math.floor(i / 2); //没2(对象的属性个数)个位一组,整合到一个对象中if (!result[stu_i])result[stu_i] = {}; //初始化数组中的对象result[stu_i][item['name']] = item['value'];}console.info(result);$.post(form.attr('action'), {stuList: JSON.stringify(result), //提交json字符串,后台自己反序列化other: 'test'}, function (data) {alert(data);});return false; });
action后台参数接收处理
public JsonResult TestThree(string stuList, string other = "没有内容") {//自己反序列化处理,更灵活处理List<Student> list = JsonConvert.DeserializeObject<List<Student>>(stuList);return Json(new { stu = list, other = other }); }
参数传递:
返回结果:
特别说明
提交的Josn数组整合方式1:从页面dom中获取
//处理方式1,从页面获取值 var result = []; form.find('tbody tr').each(function () {var thisItem = $(this);result.push({ID: thisItem.find("input:eq(0)").val(),Name: thisItem.find('input:eq(1)').val()}) });
整合方式2:从表单的序列化数组中获取
var result = []; var data = form.serializeArray(); for (var i = 0; i < data.length; i++) {var item = data[i];var stu_i = Math.floor(i / 2); //没2(对象的属性个数)个位一组,整合到一个对象中if (!result[stu_i])result[stu_i] = {}; //初始化数组中的对象result[stu_i][item['name']] = item['value']; } console.info(result);
更多:
通过Url传多个参数方法
Asp.Net MVC是否针对每次请求都重新创建一个控制器实例
ASP.Net MVC 之FileResult
转载于:https://www.cnblogs.com/tianma3798/p/6638837.html
Asp.Net Mvc表单提交之List集合相关推荐
- ASP.NET MVC 表单提交教程
在前面的两篇文章总,我们分别做了一个简单的ASP.NET MVC的例子和进行数据的绑定,在本文中,将通过ASP.NET MVC Framework实现表单的提交,你可以看到,在这里有多种方法来获取表单 ...
- asp.net Ajax表单提交 二种方式数据处理 asp.net
第一种格式 var form = $("#form1"); var data = form.serializeObject(); {"Id":"0&q ...
- asp.net表单提交方法:GET\POST介绍
表单form的提交有两种方式,一种是get的方法,一种是post 的方法,如果没有特殊指定,默认为post.看下面代码,理解ASP.NET Get和Post两种提交的区别: 1.< form i ...
- Spring MVC表单防重复提交
转载自 Spring MVC表单防重复提交 利用Spring MVC的过滤器及token传递验证来实现表单防重复提交. 创建注解 @Target(ElementType.METHOD) @Retent ...
- 我和小美的撸码日记(3)之一句话搞定MVC表单页数据绑定与提交
"尼玛哥,你今天有空么?" "今天周日呀,怎么会没空,你这是要约么?麻辣烫凉皮我都吃,在哪儿,我一会儿就到." "约你妹呀,我昨天都加一天班了,东西到 ...
- 我和小美的撸码日记(3)之中的一个句话搞定MVC表单页数据绑定与提交
另外献上在<线体验Demo地址>希望大家也能从中得到一些启示. 地址:http://121.40.148.178:8080/ . username:guest,password:12345 ...
- MVC下HtmlHelper自带BeginForm表单提交与异步Ajax请求
假如有一个数据表格UserInfo: public class UserInfo {public int Id { get; set; }public string Name { get; set; ...
- [JSP暑假实训] 二.JSP网站创建及Servlet实现注册表单提交、计算器运算
本系列文章是作者暑假给学生进行实训分享的笔记,主要介绍MyEclipse环境下JSP网站开发,包括JAVA基础.网页布局.数据库基础.Servlet.前端后台数据库交互.DAO等知识. 本篇文章开始讲 ...
- Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交
在Java EE应用编程中Servlet是基础,JSP是建立在Servlet基础之上的,其他Web框架如Struts.WebWork和Spring MVC都是基于Servlet的.本文主要讲述MyEc ...
最新文章
- Flutter 导包 以及体验
- 教程:9、网络通信工具
- 是否是一个新的机会?
- 十四、中文词向量训练一
- jquery.form.js插件中ajaxSubmit提交在jquery1.4版本中的应用
- C# Winform 窗体美化(目录)
- iOS 关于UITableView的黑科技
- Educational Codeforces Round 57 (Rated for Div. 2)
- PostgreSQL数据库 OLTP高并发请求性能优化
- Java二叉排序树(转)
- Python 综合应用 —— 名片管理系统
- 【cf585-div2: B】 The Number of Products(dp/推导)
- modbus tcp主站和从站_图文讲解PLC通讯MODBUS协议的应用及编程
- SpatialDB |单细胞空间转录组数据分析可视化平台
- 哈佛幸福课 24人格力量测试
- unity3d 不规则外发光描边_PS发光字体教程
- Crazy Number
- Mac 下 Nginx、PHP、MySQL 和 PHP-fpm 的安装和配置
- Python-Tkinter 基础教程
- 人员规范操作行为识别算法
热门文章
- 哪里有2003系统服务器,服务器2003系统
- jquery复选框组清空选中的值_防火墙基本配置:配置策略组
- python 正则表达式判断字符串是否为回文_JS使用栈判断给定字符串是否是回文算法示例...
- Linux学习笔记-子目录的支持
- 2.2线性表的顺序表示和实现
- 会计云课堂实名认证后怎么更改_会计云课堂怎么听课 网上听课步骤详解
- djnago seeeion
- linux脚本 sed,Linux脚本利器sed
- kafka java 多线程_20. 多线程开发者实例
- restful适用于移动互联网厂商作为业务_Restful架构思想