【发布时间】:2016-04-28 09:55:12
【问题描述】:
我仍在尝试了解如何将 JSON 对象列表发送到控制器以将数据保存在 SQL Server 数据库表“受邀者”中。
举个例子会很有用。
JSON:
[{Email :"e@g.com",Presence :"nodig"},{Email :"h@g.com",Presence :"gewenst"}]
型号:
public class Invitee
{
public int Id { get; set; }
public int AppId { get; set; }
public string Email { get; set; }
public string Presence { get; set; }
};
控制器:(模型返回空异常,ModelState = true)
[HttpPost]
public JsonResult InviteeSave(List<Invitee> model)
{
if (ModelState.IsValid)
{
using (var db = new MainDbContext())
{
var dbInv = db.Invitees.Create();
foreach (var inv in model)
{
dbInv.AppId = 35;
dbInv.Email = inv.Email;
dbInv.Presence = inv.Presence;
db.Invitees.Add(dbInv);
}
db.SaveChanges();
}
}
else
{
ModelState.AddModelError("", "Something went wrong");
}
return Json(model);
}
jQuery ajax:
$.ajax({
url: '@Url.Action("InviteeSave", "App")',
dataType: "json",
type: "POST",
accept: 'appication/json; charset=utf-8',
cache: false,
data: JSON.stringify(jsonData),
success: function (data) {
if (data.success) {
alert("Met succes !");
}
},
error: function (xhr) {
alert('error');
}
});
【问题讨论】:
-
你的AJAX请求没有问题;问题出在 C# 中。
null到底是什么?在 Action 中放置一个断点,并在需要时单步执行。 -
appication中的拼写错误(缺少l) -
对不起。在控制器“模型”中返回一个 NULL 异常
-
@StephenMuecke 眼睛好:)
-
使用
data: JSON.stringify({ model: jsonData }),- 适合我。
标签: jquery sql-server json ajax asp.net-mvc