从单个MVC方法返回Response.Redirect或ActionResult

3

我有一个返回ActionResultMVC方法 - 我需要进行一些更改,基于业务逻辑,我希望使用response.redirect代替。

所以我想做这样的事情:

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

但是我不能这样做,因为Resonse.Redirect不是一个ActionResult....

我该如何解决这个问题?


你正在将页面重定向到网站外吗? - Fran
1个回答

2
如果您正在将重定向指向当前 MVC 应用程序之外的位置,则可以使用:
return Redirect("<your external url>"); // like "https://www.google.com"

如果您想重定向回您的主页,可以使用:
return RedirectToAction("Index", "Home");

假设您正在使用默认的MVC设置。
如果您在多个地方进行此检查,您可能还希望查看{{link1:ActionFilters}}。

编译器无法识别“Redirect”,但可以识别“RedirectResult(url)”- 我猜这是MVC版本问题? - Ayo Adesina
@AyoAdesina 你使用的是哪个版本?你标记了3、4、5。我发布的代码使用的是mvc5和Redirect exists。 - Fran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接