C# 将asp.net mvc 3升级到mvc 5时路由显示404
您好,我在将我的项目从asp.net mvc 3升级到mvc 5时遇到问题 我的代码是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",
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“”无效。这是如何修复的??