gpt4 book ai didi

asp.net-mvc - 重定向(url)不起作用

转载 作者:行者123 更新时间:2023-12-02 23:33:34 25 4
gpt4 key购买 nike

在 ASP.net MVC3 的上下文中,我在 Controller 操作中有这行代码,它尝试重定向到特定的 url。

return Redirect(returnUrl);

returnUrl 是一个包含“/Home/Index/”的字符串。由于某种原因,重定向没有发生,我仍然在同一屏幕上。我尝试删除尾部斜杠但没有成功。任何想法为什么重定向不发生?

最佳答案

Redirect 方法旨在用于重定向到您网站的外部 URL,并向其传递绝对 URL。如果您需要重定向到属于您网站的另一个 Controller 操作,最好使用以下命令:

return RedirectToAction("Index", "Home");

这样,您就不再需要对 URL 进行硬编码,并且您的代码对于路由更改的脆弱性也降低了。

话虽这么说,如果您调用使用 AJAX 执行此重定向的 Controller 操作,您不能指望它将浏览器重定向到任何地方 => 它显然会停留在同一页面上。 AJAX 请求将在所有重定向后成功,并且在成功回调中,您将获得 /Home/Index url 的最终 HTML,就像在没有 AJAX 的情况下请求一样。

如果您想在 AJAX 调用的成功回调中进行重定向,您可以让 Controller 操作返回一个 JSON 对象,该对象指示您要重定向到的目标 URL:

return Json(new { redirectToUrl = Url.Action("Index", "Home") });

并在回调中使用window.location.href函数:

success: function(result) {
window.location.href = result.redirectToUrl;
}

关于asp.net-mvc - 重定向(url)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7402701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com