Ho URL del tipo:Come gestire questo percorso?
- /it/blog (spettacoli panoramica o blog voci)
- /it/blog/pays-grande-cuocere-e-è-fiera-premiato (mostra voce blog con urltitle)
- /it/blog/why-piuttosto-che-dietista-Cook (Shows blog con urltitle)
per le rotte quanti seguaci ho definito
- A: percorso "en/blog/{pagina dell'articolo}" con la pagina articolo vincolo = @ "\ d"
- B: percorso "en/blog"
- C: Route "it/blog/{urltitle}/{commento pagina } "con il commento vincolo = @" \ d "
- d: percorso" en/blog/{urltitle} "
domanda 1: questo funziona bene, ma forse c'è una soluzione migliore con meno tracce?
Domanda 2: per aggiungere un nuovo articolo, ho un metodo di azione AddArticle in Blog Controller. Naturalmente, con i percorsi definiti sopra, l'URL "/ it/blog/addarticle" sarebbe mappa per instradare D, dove addarticle sarebbe l'urltitle-che non è corretto, naturalmente. Quindi ho aggiunto il seguente percorso:
- E: itinerario "com/blog/_ {azione}"
e così ora l'URL cartella "/ it/blog/_addarticle" a questo percorso, ed eseguire il metodo azione corretta. Ma mi chiedevo se c'è un modo migliore per gestire questa situazione?
Grazie per il consiglio.
Bella domanda. Sono davvero interessato a qualsiasi risposta. – Phil
Forse il vincolo del percorso personalizzato potrebbe essere la soluzione più elegante? –
ok, per la domanda 2 ho trovato la risposta da solo. Ho creato un vincolo personalizzato chiamato ExcludeConstraint e ho modificato la rotta D come: route "nl/blog/{urltitle}" con il vincolo "new {urltitle = new ExcludeConstraint (new List() {" addarticle "," addcomment "," gettags "})}));". Ora, il mio URL rimane pulito, come/nl/blog/addcomment –