Asp.net在ajax调用后返回一个视图
本文关键字:一个 视图 返回 net ajax 调用 Asp | 更新日期: 2023-09-27 17:54:45
我用ajax调用NameController'Action
在此操作中,我返回ActionResult
- a View(model)
是否有办法将客户端重定向到返回的视图?
现在我只在fiddeler中看到这个视图(作为返回的内容)
是否有办法将客户端重定向到返回的视图?
当然,但是在这种情况下为什么要使用AJAX呢?AJAX的全部意义在于保持在同一个页面上,避免重新加载整个HTML。
但是如果你想,你可以做到。例如,您可以让控制器动作有条件地返回一个JSON结果,其中包含您想要重定向到的目标url。然后在AJAX调用的成功回调中,使用window.location.href
在客户端上执行重定向。
让我们例证:
[HttpPost]
public ActionResult MyAction()
{
if (SomeCondition)
{
return PartialView(model);
}
return Json(new { redirectTo = Url.Action("TargetAction", "TargetController") });
}
然后在AJAX成功回调中:
success: function(result) {
if (result.redirectTo) {
// the server returned a JSON result => let's redirect to the target url
window.location.href = result.redirectTo;
} else {
// The server returned a partial view => let's update some portion of the DOM
$('#result').html(result);
}
}