使用 MVC3、C# 中的视图模型中的新数据更新视图
本文关键字:数据 新视图 更新 模型 MVC3 视图 使用 新数据 | 更新日期: 2024-11-06 18:57:21
我在控制器中有ajax行动调用,在它更新数据库并成功完成后,我可以这样做:
return PartialView("Overview", mydatamodel);
然后在成功做到这样:
success: function (data) {
// do something with the data => refresh some
// portion of your DOM
$('#someDivId').html(data);
}
它可以正常工作,但我需要的是更新视图模型中的集合,并使用新数据再次呈现整个视图。
例如,如果我有提交按钮,我可以这样做,然后整个视图都会用新数据更新,但是如果我有 ajax 调用,我该怎么做。
这是指向我上一篇文章的链接,其中有更多详细信息:MVC3 提交后接收新模型数据
提前谢谢你!
如果要
更新整个视图,请不要使用 AJAX。只需使用提交按钮。AJAX 的全部意义在于只更新视图的一部分,而不离开当前页面。
顺便说一下,您可以使用window.location.href
在客户端重定向:
success: function (data) {
window.location.href = '@Url.Action("Overview", "SomeController")';
}
但是,如果您总是在成功的 AJAX 回调中重定向,则实际上没有必要这样做。在这种情况下不应使用 AJAX。
通常,
在请求完成后只希望更新视图的一部分的情况,使用 AJAX。
如果出于某种原因,即使在这种情况下也需要使用 AJAX(例如,使用 DELETE
HTTP 动词发送请求),您可以执行以下操作:
window.location.href = '/Items/123';
在success
回调函数中,该函数有效地触发了整页更新。