Sto tentando di creare alcuni percorsi mappa personalizzata, ma non riesco a farlo funzionare abbastanza bene.personalizzato rottaMappa
Il mio obiettivo finale è quello di essere in grado di specificare qualcosa di simile alla seguente. Dove da I essenzialmente ho mio URL costruito con coppie di valori di "id" e "nome". Il nome è irrilevante e solo per convenevoli utente, mi richiederà l'ID nel mio controller però.
/dashboard/5-My-Estate-nome/89-My-sottogruppo-name/133-forse-anche-altro-sottogruppo
Per cominciare sto lavorando sulla prima sezione e avendo problemi.
Navigazione a "http: // localhost: 53933/dashboard/109-edificio-xyz", mentre utilizzando il seguente percorso genera l'errore A public action method '109-building-xyz' was not found on controller 'MyInterfaceInterface.Controllers.DashboardsController'.
routes.MapRoute(
"Dashboard",
"dashboards/{id}-{name}", // URL pattern
new { controller = "Dashboards", action = "Index" },
new { id = @"\d+", name = UrlParameter.Optional }
);
Ovviamente ho voluto questo per essere indirizzati alla funzione Index con parametri.
Cosa sto sbagliando? Sto strutturando anche questo correttamente? Io vengo da un background web PHP e usando htaccess per ottenere queste cose.
Grazie
Hai aggiunto questo dopo il percorso predefinito o prima? – Chris
penso che si può solo i parametri separati utilizzando una barra (ma potrebbe essere sbagliata su questo). Se il trattino è accettato come separatore, è probabile che dovrai includere il trattino dopo l'id per far funzionare il percorso. Inoltre, come suggerisce Chris, l'ordinamento dei percorsi è importante. Consiglierei di usare NuGet per installare il pacchetto RouteDebugger (e abilitarlo in Web.config). Ti permette di scoprire facilmente quale percorso corrisponde a un dato URL. –