J'ai une route dans mon asp.net mvc 2 site qui ressemble à ceproblème de routage avec - dans la variable
routes.MapRoute(
"media_display",
"Media/{mediaId}-{mediaName}",
new { controller = "Media", action = "Display" },
new { mediaId = @"\d+" }
);
Où MediaId est l'identifiant et mediaName est le titre des médias. Un exemple
www.example.com/Media/1-test-media-list
Lorsque l'id est 1, et le nom est "test liste des médias", le problème ici est que je remplace l'espace "" par -, et cela ruine ma route. Je n'arrive juste pas à comprendre comment faire ceci afin que "mediaName" puisse contenir un -.
J'ai aussi la rune suivante, mais la solution devrait être la même.
routes.MapRoute(
"media_display",
"Media/{mediaId}-{mediaName}/edit",
new { controller = "Media", action = "Edit" },
new { mediaId = @"\d+" }
);
Aussi sont-il possible de faire une route qui va attraper tous les éléments suivants 3 exampels, en ce moment dois-je seulement 3 routes différentes, mais je voudrais couper cette baisse.
www.example.com/Media/1-test-media-list
www.example.com/Media/1-
www.example.com/Media/1
Je dirais que www.example.com/Media/1-test-media-list est le plus élégant: D La sulotion de slug, va casser la fabrication des urls où j'utilise Html.Action ("Display", "Media", nouveau {mediaId = 1, mediaName = "Some Name"}); Mais si personne n'est capable de m'aider avec {mediaId} - {mediaName} sulotion j'utiliserai {mediaId}/{mediaName} – Androme
J'avais l'habitude d'avoir une propriété qui renvoyait slug généré dans mon modèle de vue quand je l'ai utilisé . Alors vous auriez Html.Action ("Display", "Media", nouveau {slug = Model.MediaSlug}). Mais je pense toujours/id/name est plus agréable. Regardez! Même SO l'utilise;) – Necros
J'ai utilisé la solution/id/name – Androme