请问asp.net mvc2中ajax怎么给控制器传递参数

aierong 2013-10-22 09:53:04
请注意是mvc2,不是mvc3哦
jquery ajax怎么给控制器中方法参数类型为List的传递参数

控制器代码:
[HttpPost]
public ActionResult Set_ClassArray(List<Models.ClassA> ClassAlist)
{
List<Models.ClassA> li = new List<Models.ClassA>();

foreach(Models.ClassA item in ClassAlist)
{
li.Add(new Models.ClassA()
{
Name = item.Name + "名字变啦,并且长大10岁!",
Age = item.Age + 10,
IsMan = !item.IsMan
});
}

//故意延时,以便演示效果
System.Threading.Thread.Sleep(2000);

return Json(li);
}


public class ClassA
{
public string Name
{
get;
set;
}

public int Age
{
get;
set;
}

public bool IsMan
{
get;
set;
}
}


页面代码:
$("#Button_setclassarr").click(function ()
{
var str = '{"ClassAlist":[{"Name":"小高","Age":28,"IsMan":true },{"Name":"小皓","Age":16,"IsMan":false }]}';

var options = {
url: "../De/Set_ClassArray",
type: "POST",
dataType: "json",
data: str,
success: function (response)
{
//返回的对象数组
var arr = response;
//循环
$.each(arr, function (index, va)
{
//得对象
var obj = va;
var str = "姓名:" + obj.Name + " 年纪:" + obj.Age + " 是男人:" + obj.IsMan + " ";
$('#div_txt').append("第" + index + "项值=" + str + " ");
})
}
}

$.ajax(options);
});


用浏览器观察到Set_ClassArray方法接收到的值为null
...全文
158 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aierong 2013-10-22
  • 打赏
  • 举报
回复
找到解决办法 http://stackoverflow.com/questions/320291/how-to-post-an-array-of-complex-objects-with-json-jquery-to-asp-net-mvc-control
threenewbee 2013-10-22
  • 打赏
  • 举报
回复
客户端以json或者逗号分隔的形式post数据,服务器对应的解析或者切割。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧