在ASP.NET MVC中以post方式传递数组参数的示例
最近在工作中用到了在ASP.NET MVC中以post方式传递数组参数的情况,记录下来,以供参考。
一、准备参数对象
在本例中,我会传递两个数组参数:一个字符串数组,一个自定义对象数组。这个自定义对象UserInfo定义如下:
public class UserInfo
{
public int UserId { get; set; } public string UserName { get; set; }
}
二、后台代码
后台Action代码如下:
[HttpPost]
public ActionResult TestPost(List<string> a, UserInfo[] b)
{
var result = new {IsSuccess = true, ErrMsg = "你错了"};
return Json(result, JsonRequestBehavior.AllowGet);
}
其中List或数组方式对前端代码写法都一样。
三、前端代码
前端jquery调用代码如下:
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('#btnTest').click(function() {
var data = {};
data["a[0]"] = "Test";
data["a[1]"] = "Just";
data["b[0].UserId"] = 1;
data["b[0].UserName"] = "Zhang";
data["b[1].UserName"] = "黄Sir";
$.post('@Url.Action("TestPost")', data, function(res) {
alert('Result: ' + res.IsSuccess + ', Error: ' + res.ErrMsg);
});
});
});
</script>
</head>
<body>
<div>
<input type="button" id="btnTest" value="测试"/>
</div>
</body>
</html>
四、总结
在ASP.NET MVC中以post方式传递数组参数的关键在于json对象的写法,这里总结一下:
先定义空对象:var data = {};
针对List<string>、List<int>等简单类型,data["a[0]"] = "dd"; data["a[1]"] = "d2"; ....
针对复杂类型,如List<UserInfo>, UserInfo[],data["b[0].UserId"] = 1; ....
在ASP.NET MVC中以post方式传递数组参数的示例的更多相关文章
- 在ASP.NET MVC中以post方式传递数组参数的示例【转】
最近在工作中用到了在ASP.NET MVC中以post方式传递数组参数的情况,记录下来,以供参考. 一.准备参数对象 在本例中,我会传递两个数组参数:一个字符串数组,一个自定义对象数组.这个自定义对象 ...
- URL 通过Get方式传递数组参数
URL 通过Get方式传递数组参数 方法1: ?id=1&id=2&id=3 后台获取时,只需要reqeust.getParameterValues("id") 获 ...
- ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例
在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...
- [转]Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱 【转】
在Asp.Net MVC 1.0编程中,我们经常遇见这样的场景,在新建一个对象时候,通过HtmlHelper的方式在View模型中渲染Html控件,当填写完相关内容后,通过Form把需要新建的内容Po ...
- [转]Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱
http://www.cnblogs.com/errorif/archive/2012/02/13/2349902.html 在Asp.Net MVC 1.0编程中,我们经常遇见这样的场景,在新建一个 ...
- 解决JavaScript中使用$.ajax方式提交数组参数
一般的,可能有些人在一个参数有多个值的情况下,可能以某个字符分隔的形式传递,比如页面上有多个checkbox: $.ajax{ url:"xxxx", data:{ p: &quo ...
- Java SpringMvc+hibernate架构中,调用Oracle中的sp,传递数组参数
一.问题 我们调用数据,大都是可以直接获取表中的数据,或者用复杂点的sql语句组成的.但是,有时候,当这样达不到我们要的全部数据的时候,这时,我们就用到了存储过程[sp],如果sp需要参数是数组的话, ...
- ASP.NET MVC中错误处理方式
/// <summary> /// 标记了HandleError,并指明错误处理页为AboutError.aspx /// </summary> /// <returns ...
- ASP.NET MVC 中@html.ActionLink的几种参数格式
一 Html.ActionLink("linkText","actionName") 该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法, ...
随机推荐
- Android——拖动条SeekBar
1.activity_seekbar.xml <?xml version="1.0" encoding="utf-8"?><LinearLay ...
- Rehat 5.8下oracle11g安装
Oracle 11g Redhat 5安装 一.检查硬件是否满足要求 检查一内存 On Linux x86: At least 1 GB of RAM 内存至少1G To determine the ...
- SDUT 3347 数据结构实验之数组三:快速转置
数据结构实验之数组三:快速转置 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 转置运算是一 ...
- 【练习】如何显示本地主机上的MySQL客户机版本
在终端窗口以oracle用户身份登录 [root@enmo ~]# su - oracle [oracle@enmo ~]$ mysql -V mysql Ver , for Linux (x86_6 ...
- RC振荡器与有源滤波器1
自我总结,有错误欢迎指出! 一.振荡器原理: 对于正反馈,有如下公式: 讨论: 1.当A*F(jw)=1时 Af→∞(物理意义:自激振荡): 2.在f0上,F(jw)相移为0或2n∏:(因此,在f0处 ...
- Ajax-(get/post/jQuery方式请求)
< !DOCTYPE html > < html xmlns = "http://www.w3.org/1999/xhtml" > < head &g ...
- 隐藏vbs执行cmd命令的窗口
dim obj_shellset obj_shell = createobject("wscript.shell") host = WScript.FullNameIf LCase ...
- 通过fileupload上传文件超出大小
配置文件 . web.config中添加如下内容: <configuration> <system.web> <httpRuntime maxRequestLength= ...
- iOS地址编码解析
- (void)viewDidLoad { [super viewDidLoad]; // 创建地址解析器 self.geocoder = [[CLGeocoder alloc] init]; } - ...
- 可视化数据包分析工具-CapAnalysis
可视化数据包分析工具-CapAnalysis 我们知道,Xplico是一个从pcap文件中解析出IP流量数据的工具,本文介绍又一款实用工具-CapAnalysis(可视化数据包分析工具),将比Xpli ...