小编use*_*827的帖子

MVC区域 - 未找到视图

我有一个使用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)]它在项目的根目录中而不是在区域特定的视图文件夹中搜索视图.

我在这里错过了什么?

提前致谢.

asp.net-mvc asp.net-mvc-areas

14
推荐指数
4
解决办法
3万
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-areas ×1