我有一个使用MVC区域的项目.该区域包含整个项目,而区域外的主"视图/控制器/模型"文件夹为空,禁止我设置的调度控制器将默认传入请求路由到我所在区域的Home Controller.
该控制器有如下方法: -
public ActionResult Index(string id)
{
return RedirectToAction("Index", "Home", new {area = "xyz"});
}
Run Code Online (Sandbox Code Playgroud)
我也有一个默认的路由设置来使用这个控制器如下: -
routes.MapRoute(
"Default", // Default route
"{controller}/{action}/{id}",
new { controller = "Dispatch", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
对我的站点的任何默认请求都适当地路由到相关区域.Area的"RegisterArea"方法只有一条路线: -
context.MapRoute(
"xyz_default",
"xyz/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
Run Code Online (Sandbox Code Playgroud)
我的区域有多个控制器,有很多视图.在这些控制器方法中对特定视图的任何调用,如"返回视图("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
Run Code Online (Sandbox Code Playgroud)
每当模型对象作为参数传入时,它看起来都像.到"View()"方法[例如返回View("blah",obj)]它在项目的根目录中而不是在区域特定的视图文件夹中搜索视图.
我在这里错过了什么?
提前致谢.