0
后视图我Ajax调用NameController\Action
asp.net返回Ajax调用
在这次行动我返回ActionResult
- 一个View(model)
有没有什么办法可以将客户端重定向到返回的看法?
现在我看到这个观点只在fiddeler(如返回的内容)
后视图我Ajax调用NameController\Action
asp.net返回Ajax调用
在这次行动我返回ActionResult
- 一个View(model)
有没有什么办法可以将客户端重定向到返回的看法?
现在我看到这个观点只在fiddeler(如返回的内容)
有没有什么办法可以将客户端重定向到返回的看法?
当然,但为什么你在这种情况下使用AJAX? AJAX的重点是保持在同一页面上,避免重新加载整个HTML。
但是,如果你想你可以做到这一点。例如,您可以让控制器操作有条件地返回包含要重定向到的目标url的JSON结果。然后在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);
}
}
了window.location可以做的伎俩,但你必须返回一个网址,而不是网页的.. – VoidMain
你能展示你的代码吗? – ken2k