Asp.net mvc asp.NETMVC中的自定义url
我是ASP.NET-MVC新手,我正在尝试创建一个简单的博客应用程序。我想为博客的详细信息页面使用自定义url 现在博客详细信息页面的url是标准的'localhost/blog/details/3',但我想实际使用url'localhost/blog/2012/06/blog title',基本上使用'localhost/blog/{year}/{month}/{blogtile}'Asp.net mvc asp.NETMVC中的自定义url,asp.net-mvc,url,Asp.net Mvc,Url,我是ASP.NET-MVC新手,我正在尝试创建一个简单的博客应用程序。我想为博客的详细信息页面使用自定义url 现在博客详细信息页面的url是标准的'localhost/blog/details/3',但我想实际使用url'localhost/blog/2012/06/blog title',基本上使用'localhost/blog/{year}/{month}/{blogtile}' 我曾尝试在互联网上查找,但我不了解如何进行此操作,也无法获得有关如何进行此操作的简单教程。您必须绘制自定义路线
我曾尝试在互联网上查找,但我不了解如何进行此操作,也无法获得有关如何进行此操作的简单教程。您必须绘制自定义路线
routes.MapRoute(
"Default", // Route name
"Blog/{action}/{month}/{BlogTitle}", // URL with parameters
new {controller ="MyController"}
);
任何类型为localhost/Blog/text/text/text的url都将映射到此路由
此url将调用MyController.Action(月,博客标题)
确保将限制性更强的路由放在第一位,因为将考虑与url匹配的第一条路由(从上到下)您必须映射自定义路由
routes.MapRoute(
"Default", // Route name
"Blog/{action}/{month}/{BlogTitle}", // URL with parameters
new {controller ="MyController"}
);
任何类型为localhost/Blog/text/text/text的url都将映射到此路由
此url将调用MyController.Action(月,博客标题)
确保将限制性更强的路由放在第一位,因为将考虑与url匹配的第一条路由(从上到下)您可以在
Global.asax.cs
中创建一条新路由,如下所示
routes.MapRoute(
"Post", // route-name
"Blog/{year}/{month}/{BlogTitle}", // format
new { controller = "Books", action = "Post" }, // controller & action
new { year = @"\d{4}", month = @"\d{2}" } // constraints
);
您可以在
Global.asax.cs
中创建新路由,如下所示
routes.MapRoute(
"Post", // route-name
"Blog/{year}/{month}/{BlogTitle}", // format
new { controller = "Books", action = "Post" }, // controller & action
new { year = @"\d{4}", month = @"\d{2}" } // constraints
);