复制模型,视图,&控制器到新解决方案:资源无法找到
本文关键字:资源 解决方案 视图 控制器 复制 模型 | 更新日期: 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
);
}
}