У меня есть сайт в MVC4 с использованием областей. В какой-то области (назовём его Area), у меня есть контроллер (контроллер) с этим действий:MVC controller.Execute с областями
public ActionResult Index()
{
return View();
}
public ActionResult OtherAction()
{
return View("Index");
}
Это прекрасно работает, если я сделать простой редирект Area/Controller/OtherAction так:
return RedirectToAction("OtherAction", "Controller", new { area = "Area" });
Но мне нужно (check here why), чтобы сделать редирект, как это:
RouteData routeData = new RouteData();
routeData.Values.Add("area", "Area");
routeData.Values.Add("controller", "Controller");
routeData.Values.Add("action", "OtherAction");
ControllerController controller = new ControllerController();
controller.Execute(new RequestContext(new HttpContextWrapper(HttpContext.ApplicationInstance.Context), routeData));
И в этом случае не работает. После последней строки, метод OtherAction выполняются, а затем в последней строке этого кода выдает это исключение:
окно «Index» или его хозяин не было найдено или нет вида двигателя поддерживает искомых местоположение , Следующие места были искали:
~/Views/Controller/index.aspx
~/Views/Controller/Index.ascx
~/Views/Shared/index.aspx
~/Просмотров/Shared/Index.ascx
~/Просмотров/Controller/Index.cshtml
~/Views/Controller/Index.vbhtml
~/Просмотров/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml
Почему это происходит и как я могу это исправить?