I have two controllers, both called AccountController
. One of them, lets call it Controller A
, is in an Area
called Admin
Use this:
return RedirectToAction("LogIn", "Account", new { area = "" });
This will redirect to the LogIn
action in the Account
controller in the "global" area.
It's using this RedirectToAction
overload:
protected internal RedirectToRouteResult RedirectToAction(
string actionName,
string controllerName,
Object routeValues
)
MSDN
You can supply the area
in the routeValues
parameter. Try this:
return RedirectToAction("LogIn", "Account", new { area = "Admin" });
Or
return RedirectToAction("LogIn", "Account", new { area = "" });
depending on which area you're aiming for.
Use this:
return this.RedirectToAction<AccountController>(m => m.LogIn());
You can use this:
return RedirectToAction("actionName", "controllerName", new { area = "Admin" });
Try switching them:
return RedirectToAction("Account", "Login");
I tried it and it worked.