Tôi có một trang web trong MVC4 sử dụng các khu vực. Trong một số khu vực (cho phép gọi nó Area), tôi có một bộ điều khiển (Controller) với hành động này:Bộ điều khiển MVC.Thực hiện với các khu vực
public ActionResult Index()
{
return View();
}
public ActionResult OtherAction()
{
return View("Index");
}
này hoạt động tuyệt vời nếu tôi thực hiện một chuyển hướng đơn giản để Area/Controller/OtherAction như thế này:
return RedirectToAction("OtherAction", "Controller", new { area = "Area" });
Nhưng tôi cần (check here why) để thực hiện một chuyển hướng như thế này:
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));
Và trong trường hợp đó nó không hoạt động. Sau khi dòng cuối cùng, phương pháp OtherAction được thực hiện và sau đó trong dòng cuối cùng của mã này nó ném ngoại lệ này:
Quan điểm 'Index' hoặc thạc sĩ của nó đã không tìm thấy hoặc không có công cụ xem hỗ trợ các địa điểm đã tìm kiếm . Các vị trí sau được tìm kiếm:
~/Views/Controller/index.aspx
~/Views/Controller/Index.ascx
~/Views/Shared/index.aspx
~/Views/Shared/Index.ascx
~/Views/Controller/Index.cshtml
~/Views/Controller/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml
Tại sao điều này xảy ra và làm thế nào tôi có thể sửa chữa nó?