【发布时间】:2014-09-30 09:18:44
【问题描述】:
我无法尝试使用 ajax 调用发送我的整个模型,它实际上是一个 List<Account>。
提供以下代码:
@model List<ValidationAccount>
<input type="button" id="SubmitAccounts" value="Final Proceed">
$("#SubmitAccounts").click(function () {
$.ajax({
url: '/setupAccounts/ActivateAccounts',
type: 'POST',
contentType: 'application/json; charset=utf-8',
cache: false,
dataType: 'json',
data: JSON.stringify(Model),
success: function (data) {
$(body).html(data);
}, error: function (data) {
}
});
});
我尝试过使用简单的 Model 和 @Model 但不起作用。在这种情况下我能做什么? (所以我想将我的模型(我的列表)作为 data 传递)。
更新
方法签名:
[HttpPost]
public string ActivateAccounts(List<ValidationAccount> Accounts)
{
return "Success";
}
更新 2
我的模特:
public class ValidationAccount
{
public string Faculty { get; set; }
public string Programme { get; set; }
public string Year { get; set; }
public string Email { get; set; }
}
谢谢。
【问题讨论】:
-
您是否检查过发布的数据是否为有效的 JSON?
-
是的。这是。幸运的是。
-
您有
form和每个属性的输入吗? -
'@Model'将返回"System.Collections.Generic.List[YourAssembly.ValidationAccount]"而不是集合中的对象。既然你没有修改任何东西,为什么你需要将模型传回ActivateAccounts()? - 再次从数据库中获取它(无论如何这将是更好的性能) -
你为什么会失去他们?当然,您使用生成集合来呈现此视图的任何代码都可以再次用于在
ActivateAccounts()中生成集合
标签: c# asp.net ajax asp.net-mvc-4