在另一个控制器中redirect到操作
我有两个控制器,都称为AccountController 。 其中之一,让我们称之为Controller A ,在一个Area称为Admin和另一个,让我们称之为Controller B ,不在任何Area (我想这意味着它在默认Area ?)。 Controller B有一个称为Login的action method 。 Controller A有一个action method ,它有这一行
return RedirectToAction("LogIn", "Account");
问题是我得到一个404当这条线被执行,因为试图redirect到Controller A不存在的action 。 我想调用Controller B的action method 。 这可能吗?
您可以在routeValues参数中提供该area 。 尝试这个:
return RedirectToAction("LogIn", "Account", new { area = "Admin" });
要么
return RedirectToAction("LogIn", "Account", new { area = "" });
取决于你要瞄准哪个领域。
用这个:
return RedirectToAction("LogIn", "Account", new { area = "" });
这将redirect到“全局”区域中的Account控制器中的LogIn操作。
它使用这个RedirectToAction重载:
protected internal RedirectToRouteResult RedirectToAction( string actionName, string controllerName, Object routeValues )
MSDN