我无法更新视图模型。
我有一个名为:概述
的视图我在视图的控制器中有这个:
public ActionResult Overview()
{
var evo = new OverviewViewObject
{
MvcGridModel = new MvcGrid(),
SingleExportData = new SingleExportData()
};
return View(evo);
}
然后我有救 按钮调用:
$.ajax({
url: saveUrl,
cache: false,
type: "post",
data: JSON.stringify({ Name: myName }),
contentType: "application/json",
success: function (data) { .. }...
saveUrl转到:
[HttpPost]
public ActionResult Save(MyDataType saveData)
{
//todo save logic here
var mvcGridModel = GetGridData();
var evo = new ExportDataOverviewViewObject
{
MvcGridModel = mvcGridModel ?? new MvcGrid(),
SaveData = new MyDataType()
};
return View("Overview", evo);
}
它在Save中运行良好,它可以很好地保存saveData对象中的数据,并且它不会返回任何错误直到结束,但是当它返回后显示视图时,数据不显示在那里了。
你能帮我吗?
答案 0 :(得分:2)
几句话:
return View()
)而不是部分视图,这是使用AJAX调用的控制器操作更常见的。所以回顾一下:
$('#saveButton').click(function() {
$.ajax({
url: saveUrl,
cache: false,
type: 'POST',
data: JSON.stringify({ Name: myName }),
contentType: 'application/json',
success: function (data) {
// do something with the data => refresh some
// portion of your DOM
$('#someDivId').html(data);
}
});
return false;
});
和您的控制器操作:
[HttpPost]
public ActionResult Save(MyDataType saveData)
{
//todo save logic here
var mvcGridModel = GetGridData();
var evo = new ExportDataOverviewViewObject
{
MvcGridModel = mvcGridModel ?? new MvcGrid(),
SaveData = new MyDataType()
};
return PartialView("Overview", evo);
}