我有一个使用 MVC 区域的项目。该区域包含整个项目,而区域外部的主要“视图/控制器/模型”文件夹为空,除非调度控制器我已设置将默认传入请求路由到我所在区域的主控制器。
该控制器具有以下一种方法:-
public ActionResult Index(string id)
{
return RedirectToAction("Index", "Home", new {area = "xyz"});
}
我还有一个默认路由设置来使用这个控制器,如下所示: -
routes.MapRoute(
"Default", // Default route
"{controller}/{action}/{id}",
new { controller = "Dispatch", action = "Index", id = UrlParameter.Optional }
);
对我的站点的任何默认请求都会适当地路由到相关区域。该区域的“RegisterArea”方法只有一条路线:-
context.MapRoute(
"xyz_default",
"xyz/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
我的区域有多个控制器,有很多视图。在这些控制器方法中对特定视图的任何调用,如“return View(“blah”);呈现正确的视图。但是,每当我尝试返回一个视图以及作为参数传入的模型对象时,我都会收到以下错误:-
Server Error in '/DeveloperPortal' Application.
The view 'blah' or its master was not found. The following locations were searched:
~/Views/Profile/blah.aspx
~/Views/Profile/blah.ascx
~/Views/Shared/blah.aspx
~/Views/Shared/blah.ascx
看起来就像每当模型对象作为参数传入时一样。对于“View()”方法[例如 return View("blah",obj)],它在项目的根目录中搜索视图,而不是在特定区域的视图文件夹中。
我在这里想念什么?
提前致谢。