Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc NETMVC5。无法找到资源导航到AreaName/Home/Index时出错_Asp.net Mvc_Asp.net Mvc Routing_Visual Studio 2013 - Fatal编程技术网

Asp.net mvc NETMVC5。无法找到资源导航到AreaName/Home/Index时出错

Asp.net mvc NETMVC5。无法找到资源导航到AreaName/Home/Index时出错,asp.net-mvc,asp.net-mvc-routing,visual-studio-2013,Asp.net Mvc,Asp.net Mvc Routing,Visual Studio 2013,我在VS2013中将ASP.NET 4 WebForm网站项目从VS2010转换为ASP.NET 4.5 Web应用程序项目。然后我在这个新项目中创建了一个区域,并将控制器、模型和视图文件从另一个VS2012 MVC4项目复制到这个新的Web应用程序项目中。当我导航到WebForms页面时,应用程序运行良好。但是当我导航到MVC视图时,我得到以下错误资源找不到localhost:1234/AreaName/Home/Index。我有主控制器和索引操作方法以及Index.cshtml。它在VS20

我在VS2013中将ASP.NET 4 WebForm网站项目从VS2010转换为ASP.NET 4.5 Web应用程序项目。然后我在这个新项目中创建了一个区域,并将控制器、模型和视图文件从另一个VS2012 MVC4项目复制到这个新的Web应用程序项目中。当我导航到WebForms页面时,应用程序运行良好。但是当我导航到MVC视图时,我得到以下错误
资源找不到localhost:1234/AreaName/Home/Index
。我有主控制器和索引操作方法以及Index.cshtml。它在VS2012项目中起作用,但没有区域。我的'AreaNameAreaRegistration.cs文件具有:

public override void RegisterArea(AreaRegistrationContext context) 
        {
            context.MapRoute(
                "AreaName_default",
                "AreaName/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }
编辑

我只是做了以下操作:添加了一个名为“JustTestController”的新控制器,右键单击其索引操作方法,单击“添加视图”,它创建了一个View Index.cshtml。现在当我浏览到
http://localhost:1234/AreaName/JustTest/Index
,将显示该视图。因此,问题是为什么当我从另一个项目(在VS2012中创建)复制/粘贴控制器/模型/视图时,这些视图会出现上述错误,即使手动创建控制器及其操作的相应视图不会显示错误。对于从VS2012项目复制/粘贴的那些控制器/视图,我需要做些什么

问题已解决


我已经解决了这个问题(多亏了埃里克)。请参阅下面我的评论。

您是否正在global.asax中调用
AreaRegistration.RegisteralAreas()
?您是否也添加了相关的MVC web.config条目?@Erik,是的,我在Global.asax.cs中添加了
AreaRegistration.Registeralareas()
。我确实添加了相关的MVC web.config,但也许你可以指出我应该检查哪些MVC条目是否存在。你真的没有给我们提供任何信息。显然,MVC正在发挥作用。所以控制器一定有问题。将其与您刚刚创建的控制器进行比较。非常感谢@Erik的输入。在许多地方都存在名称空间问题。VS2012项目中的对象控制器/模型/视图的名称空间与VS2012项目的名称相同。在新项目中,我将其改为新项目的名称,一切正常。因此,如果一个类被使用名称空间OldProjectName{…}包围,那么我用NewProjectName{…}包围它。将来使用路由调试器可能是一个好主意(您可以得到它)。查看Phil Hackk关于Route Debugger的博客文章,可以省去很多麻烦。