无法找到资源(MVC)

时间:2016-05-25 21:24:17

标签: c# asp.net-mvc

我将解决方案从一台机器移到另一台机器上,我正在做噩梦。我还有一个问题。默认页面无法提供,它表示无法找到资源。我在routeConfig.cs

routes.MapRoute("Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });

我无法找到资源。

我可以通过以下方式访问默认页面: -

http://example.com/home/index

其他问题似乎没有回答。

编辑:如果我将上面一行代码放在路由代码的顶部,则默认页面可以正常工作,但其他页面不适用。如果我将代码放在底部,其他页面可以工作,但默认页面不会。

3 个答案:

答案 0 :(得分:0)

尝试查看属性" Web" tab你是猫选择服务器和项目URL,希望

答案 1 :(得分:0)

如果您在开发计算机上的RouteConfig文件上只有默认路由并且继续获得404,那么您的问题似乎来自项目的虚拟路径设置。

http://forums.asp.net/t/1893154.aspx?The+resource+cannot+be+found+404

  

如果应用程序部署在本地主机上(或者您已设置使用本地IIS   Web服务器)然后它意味着您已经创建了一个名为的虚拟目录   “YourSite”。

右键单击VS上的应用程序项目,选择“属性”,然后转到“Web”部分并在“项目URL”上设置站点的虚拟路径。

有关实时IIS服务器上的虚拟目录问题,请在部署应用程序之前,请参阅here以将虚拟目录添加到目标计算机。

此外,如果您有自定义路由规则,请确保在默认路由规则的基础上正确放置自定义路由。

答案 2 :(得分:0)

问题是我有两个指向同一地址的配置规则。其他规则之一是指向错误的控制器。错误的控制器是错误的,因为我已经设置了操作,我使用了控制器的名称作为操作,这是一个禁忌。上述规则是正确的,但不正确的规则是

 routes.MapRoute(
            name: "pagelist",
            url: "pagelist",
            defaults: new { controller = "pagelist", action = "pagelist", id = UrlParameter.Optional }
            );

行动应该是索引。