复制模型,视图,&控制器到新解决方案:资源无法找到

本文关键字:资源 解决方案 视图 控制器 复制 模型 | 更新日期: 2023-09-27 18:17:04

我在一个解决方案中有一个Area(模型、视图和控制器的集合),我需要将其复制到另一个解决方案中。我在目标解决方案中复制了文件结构,以及所有模型、控制器、助手和web。配置等。但是,当我尝试在浏览器中导航到视图时,我得到:

404: The resource cannot be found.

除了名称空间(以匹配目标解决方案)之外,所有文件都是相同的(没有不匹配的控制器动作名称等)。我已经检查了两个解决方案中的RouteConfig.cs文件,它们是匹配的。我检查过全局。asax文件。文件夹/文件结构相同:

~/Area/NewArea/Views/SubArea/Index.cshtml

在这两种解决方案中,它在调试中打开为:

http://localhost:xxxx/NewArea/SubArea/Index

在源解决方案中,它呈现页面。在目标解决方案中,它抛出错误。

我错过了什么?

复制模型,视图,&控制器到新解决方案:资源无法找到

如果不查看破碎解决方案的完整代码,这将是一个很长的镜头,但我猜你错过了新的解决方案中的override RegisterArea

你应该在你的NewArea文件夹下有一个叫做:NewAreaRegistration.cs的类,像这样:

public class NewAreaRegistration : AreaRegistration
{
        public override string AreaName
        {
            get
            {
                return "NewArea";
            }
        }
        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "NewArea", // Route name
                "NewArea/{action}/{id}", // URL with parameters
                new { controller = "NewArea", action = "Index"  } // Parameter defaults
            );
        }
}
相关文章: