Vorrei che i miei URL di utilizzare la convenzione:In che modo il mio percorso utilizza parametri facoltativi nel mezzo dell'URL utilizzando ASP MVC3?
/{controller}/{id}/{action}
piuttosto che
/{controller}/{action}/{id}
Ho provato la creazione di un percorso come segue:
routes.MapRoute(
"Campaign",
"{controller}/{action}/{id}",
new { controller = "Campaign", action = "Index", id = UrlParameter.Optional }
);
Ma questo non funziona perché non sono in grado di rendere facoltativo il parametro id.
I seguenti URL funzionano:
/campaign/1234/dashboard
/campaign/1234/edit
/campaign/1234/delete
Ma questi URL non lo fanno:
/campaign/create
/campaign/indexempty
MVC richiede solo Index
per entrambi. Che cosa sto facendo di sbagliato?
Ha funzionato! Leggera modifica al codice: ho chiamato la prima route "CampaignDetail" in modo che non fosse in conflitto con la seconda rotta. – parleer
Oh, mi sono perso. Sono contento che abbia aiutato. –
Un'altra cosa: avere '{controller}/{id// action}' ha interferito con il mio percorso predefinito. Sono stato in grado di risolvere questo problema utilizzando esplicitamente la parola ** campagna ** nel mio url. Ad esempio: campagna/{id}/{azione} '. – parleer