J'ai mon besoin de générer mon URL commeMVC Blog URL de routage
/2013/10/custome-mvc-url-rout-to-display-mixture-of-id-and-urlslug
J'ai vu beaucoup de questions pour y parvenir & ma question peut avoir la possibilité de dupliquer .. Comme: -
asp-net-mvc-framework-part-2-url-routing
custome-mvc-url-rout-to-display-mixture-of-id-and-urlslug
etc ...
Je l'ai réalisé comme suit: -
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" }
);
et mon lien hypertexte qui générerait ce serait: -
@Html.ActionLink("continue...", "post", "blog",
new {
year = Model.PostedOn.Year,
month = Model.PostedOn.Month,
day = Model.PostedOn.Day,
title = Model.UrlSlug
}, new { title = "continue..." })
Mon contrôleur MVC étant: -
public ViewResult Post(int year, int month, string title)
{}
Mais la question ici est, je reçois mon URL comme:
http://localhost:2083/blog/post?Year=2013&Month=10&Day=9&title=best_practices_in_programming
et non pas comme: -
http://localhost:2083/blog/post/2013/10/best_practices_in_programming
Qu'est-ce que je fais mal? S'il vous plaît quelqu'un peut le signaler.
Thnks!
pouvez-vous poster vos itinéraires? spécifiquement l'ordre des routes (poste et par défaut). Je pense que l'itinéraire devrait être 'routes.MapRoute ( " Post ", " blog/poste/{année}/{mois}/{titre} ", nouveau {controller =" Blog ", action =" Post "} ', Sinon les segments pourraient entrer en conflit avec l'itinéraire par défaut. – shakib