Bonjour à tous,
Je suis actuellement en train d'essayer de faire du custom routing en mode Master/Detail :
J'ai dans mon projet des objets "activité" qui contiennent chacun une liste de d'objets "détail".
Donc je commence par créer une activité, puis une fois que c'est fait, j'aimerai ajouter des détails à cette activité. Pour des raisons de lisibilité de l'url et de pratique niveau code (pour ne pas avoir à mémoriser les id dans un coin), j'aimerai utiliser une url de ce type pour la création d'un détail pour une activité donnée :
MonEspace/Activite/8/Detail/Create
Et ceci pour l'édition d'un détail :
MonEspace/Activite/8/Detail/Edit/3
Où 8 est l'id d'activité et 3 est l'id du détail de l'activité.
Avant toute chose, j'aimerai lever une éventuelle question : l'id de détail est bien une clef primaire et ne possède pas de doublon, donc oui, il n'est pas absolument nécessaire d'avoir l'id d'activité pour l'édition du détail, mais ici ce n'est qu'une question de lisibilité et d'homogénéité dans lurl. Par contre pour la création je suis obligé d'avoir l'id d'activité.
Donc voici la regle de routage que j'ai créé :
context.MapRoute("Details", "MonEspace/Activite/{idactivite}/Detail/{action}/{id}", new { controller = "Detail" }, new { idactivite = @"d+" }, new[] { "MonNamespace.Areas.MonEspace.Controllers" });
Malheureusement cette regle ne fonctionne pas et me dit qu'il ne trouve pas la resource. Auriez vous une idée du pourquoi ? j'ai beau chercher je ne trouve pas de solution et je ne trouve pas non plus de cas comme le mien sur le net utilisant ce genre d'url...
Merci d'avance
@ bientot
Partager