1

我是 ASP.NET-MVC 的新手,我正在尝试创建一个简单的博客应用程序。我想为博客的详细信息页面使用自定义 url。

现在博客详细信息页面的 url 是标准的 'localhost/Blog/Details/3',但我想实际使用 url 'localhost/Blog/2012/06/blog-title',基本上使用'localhost/Blog/ {年}/{月}/{博客标题}'

我曾尝试在互联网上查看,但我不明白如何做到这一点,也无法获得关于如何做到这一点的简单教程。

4

2 回答 2

2

您必须映射自定义路线

routes.MapRoute(
                "Default", // Route name
                "Blog/{action}/{month}/{BlogTitle}", // URL with parameters
                new {controller ="MyController"}

            );

localhost/Blog/text/text/text 类型的任何 url 都将映射到此路由

此网址将调用 MyController.Action(month,BlogTitle)

确保首先放置限制性更强的路由,因为将考虑与 url 匹配的第一条路由(从上到下)

于 2012-06-29T21:46:07.270 回答
2

您可以如下创建一条新路线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
);
于 2012-06-30T04:56:20.407 回答