0
我有我要求我的生成URL作爲MVC博客URL路由
/2013/10/custome-mvc-url-rout-to-display-mixture-of-id-and-urlslug
我已經看到了很多問題來實現它&我的問題可能有重複的可能性。像: -
asp-net-mvc-framework-part-2-url-routing
custome-mvc-url-rout-to-display-mixture-of-id-and-urlslug
等等
我已經如下實現它: -
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Post",
"{year}/{month}/{title}",
new { controller = "Blog", action = "Post" }
);
和我的超鏈接這將產生,這將是: -
@Html.ActionLink("continue...", "post", "blog",
new {
year = Model.PostedOn.Year,
month = Model.PostedOn.Month,
day = Model.PostedOn.Day,
title = Model.UrlSlug
}, new { title = "continue..." })
我的MVC控制器是: -
public ViewResult Post(int year, int month, string title)
{}
但問題在這裏是,我得到我的網址爲:
http://localhost:2083/blog/post?Year=2013&Month=10&Day=9&title=best_practices_in_programming
,而不是像: -
http://localhost:2083/blog/post/2013/10/best_practices_in_programming
我在做什麼錯?請有人指出它。
Thiks!
你可以發佈你的路線?特別是路線的順序(Post和Default)。我認爲路線應該是'routes.MapRoute( 「Post」, 「blog/post/{year}/{month}/{title}」, new {controller =「Blog」,action =「Post」} );',否則這些段可能會與默認路由衝突。 – shakib