如何声明控制器操作方法返回类型?

问题描述

我知道 ActionResultRedirectResult 类的基类,因此下面代码的基本功能是相同的。

与基类相比,明确指定适当的结果类作为返回类型是否有优势?

public ActionResult Index()
{
    return Redirect("Home/Contact");
}

public RedirectResult Index()
{
    return Redirect("Home/Contact");
}

解决方法

如果你需要在不丢失任何数据的情况下快速重定向到另一个动作,并且这个动作在同一个控制器中,请将该动作作为方法调用:

public IActionResult Index()
{
    return Contact();
}
public IActionResult Contact()
{
   ....
}

另一种重定向方法中的哪个更好是基于意见的问题,SO 政策不允许