Ce que vous pouvez faire est de cela. Configurez un nouvel itinéraire comme celui-ci avant l'itinéraire par défaut;
routes.MapRoute(
"PRoute",
"{controller}/{action}/{action2}/{id}",
null
);
Ensuite, dans votre contrôleur de produits, faites comme ceci, notez que les noms des paramètres correspondent aux noms de la route.
public ActionResult Details(string action2, string id)
{
switch (action2)
{
case "edit":
// Do Something.
return View("edit");
case "view":
// Do Something.
return View("view");
default :
// Do Something.
return View("bad-action-error");
}
}
Maintenant, l'action Details sera passée à l'action2 et l'ID à l'URL. Donc une URL comme/products/details/view/7 l'action details aura "view" et "7", alors vous pouvez utiliser une instruction switch ou if sur action2 pour continuer votre traitement. Cela peut maintenant facilement être étendu pour inclure d'autres sous-actions.
Pourquoi ne pas simplement l'appeler ÉditionDétails? – RichardOD
Parce que cela ne correspond pas à l'URL que j'essaie d'atteindre. –