我想通过AJAX实现一些保存功能。我有一个类似下面定义控制模式,从模型中填充的观点:在ASP.NET MVC中通过AJAX创建和发送整个模型
@Html.LabelFor(model => model.mediaName, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.mediaName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.mediaName, "", new { @class = "text-danger" })
@Html.LabelFor(model => model.mediaName, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.mediaName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.mediaName, "", new { @class = "text-danger" })
当用户修改数据,并点击保存按钮,在视图能够从这些控件建立新的数据和发送它到控制器(它简单地将模型保存到数据库)。
我试图做同样的,而是通过AJAX,但我有从控制访问的“已建成”模型问题......
function saveDetails() {
var model = //HOW I GET THE MODEL?
$.ajax({
url: '/Media/SaveDetails',
dataType: 'html',
data: {
obj: model
},
success: function (data) {
}
});
}
有没有什么办法可以访问该模型?或者我应该建立它的控制 - 控制?
编辑:这是我的期望控制器到达动作: (中是在模型中使用的实体)
public ActionResult SaveDetails(DomainModel.Medium obj)
{
db.Entry(obj).State = EntityState.Modified;
db.SaveChanges();
return PartialView("_MediaModalDetails", obj);
}
好了,所以我想....你想打控制器动作SaveDetails ...为什么没有t使用Ajax表单...通过ajax提交数据并且不执行任何回发...将代码放在答案中 –