Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Asp.net mvc asp.NETMVC中的自定义url_Asp.net Mvc_Url - Fatal编程技术网

Asp.net mvc asp.NETMVC中的自定义url

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}' 我曾尝试在互联网上查找,但我不了解如何进行此操作,也无法获得有关如何进行此操作的简单教程。您必须绘制自定义路线

我是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
);