Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
C# 将asp.net mvc 3升级到mvc 5时路由显示404_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 5 - Fatal编程技术网

C# 将asp.net mvc 3升级到mvc 5时路由显示404

C# 将asp.net mvc 3升级到mvc 5时路由显示404,c#,asp.net,asp.net-mvc,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,您好,我在将我的项目从asp.net mvc 3升级到mvc 5时遇到问题 我的代码是 routes.MapRoute( "Song", // Route name "{songid}.song", // URL with parameters new { controller = "Song", action = "Song",

您好,我在将我的项目从asp.net mvc 3升级到mvc 5时遇到问题

我的代码是

         routes.MapRoute(
           "Song", // Route name
           "{songid}.song", // URL with parameters
           new
           {
               controller = "Song",
               action = "Song",
           });
当我运行project iis时,显示404错误,但在asp.net mvc 3中,它工作正常。
有什么想法吗?

您的代码看起来像这样吗

public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            name: "Song",
            url: "{songid}.song",
            defaults: new { controller = "Song", action = "Song",
                    /*id = UrlParameter.Optional*/ }
        );
        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
    }

    protected void Application_Start()
    {
        /// THE IMPORTANT PART
        RegisterRoutes(RouteTable.Routes);
    }
}

现在我发现我的错误是忘记改变

<modules runAllManagedModulesForAllRequests="true" />


在web.config中

是的,每隔一个路由配置都有效,但只有像这样的url“”无效。这是如何修复的??