Return Response.Redirect 或来自单个 MVC 方法的 ActionResult

Return Response.Redirect or ActionResult from a single MVC method

我有一个 MVC 方法,目前 returns 一个 ActionResult - 我不得不做一些改变并基于我想做的业务逻辑是 response.redirect。

所以我想做这样的事情:

public ActionResult Index(CountryHomePageType currentPage)
{
     if (someVar = true)
     {              
         return View();
     }
     else
     {
        Response.redirect("www.website.com")
     }
}

但我不能因为 Resonse.Redirect 不是 ActionResult....

我该如何解决这个问题?

如果您在当前 mvc 应用程序之外重定向,您可以使用

return Redirect("<your external url>"); // like "https://www.google.com"

如果你想重定向回你的主页,你可以使用

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

假设您使用的是默认的 mvc 设置

如果您要在多个地方进行此检查,您可能还想查看 ActionFilters