首页 > 解决方案 > 从单个 MVC 方法返回 Response.Redirect 或 ActionResult

问题描述

我有一个当前返回ActionResult的MVC方法- 我必须进行一些更改,并且基于我想要做一个 response.redirect 的业务逻辑。

所以我想做这样的事情:

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

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

我怎样才能绕过这个?

标签: asp.net-mvcasp.net-mvc-4asp.net-mvc-3asp.net-mvc-5

解决方案


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

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

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

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

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

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


推荐阅读