Domanda

sto iniziando una porta di un ASP.NET Web Forms esistente CMS per ASP.NET MVC e vuole ottenere il giusto instradamento dall'inizio.

. Nota: non è importante avere la stessa identica struttura di URL

questa risposta è vicino a quello che sto cercando ma vorrei qualche ingresso aggiuntivo qualcuno dovrebbe avere.

L'attuale struzione URL è simile a:

  

? Content = News / CurrentNews / This_is_a_news_article
  ? Contenuto = Corporate / about_us / Panoramica

ecc ecc

Vorrei aggiungere una lingua paramater opzionale e mantenere una struttura simile a MVC. Quindi, qualcosa di simile a:

  

Notizie / CurrentNews / Questo-is-a-news-articolo
  it / news / CurrentNews / Questo-is-a-news-articolo

     

modifica / News / CurrentNews / Questo-is-a-news-articolo
  Modifica / it / news / CurrentNews / Questo-is-a-news-article

o sono meglio con il rovescio?

  

Notizie / CurrentNews / Questo-is-a-news-articolo / modificare
  it / news / CurrentNews / Questo-is-a-news-articolo / modifica

Credo che in questo modo (con l'azione sul finale) requries un percorso per ogni scenario da altre questioni che ho letto.

L'altro punto è che gli URL esistenti sono fatto così per SEO e la generazione briciola di pane. vale a dire gli spettacoli URL del percorso di navigazione corrente.

ho potuto solo mostrare la pagina corrente nella URL e crea il pangrattato dal database separatamente.

Come:

  

it / this-is-a-news-article

con mollica

  

Home> News> Attualità> Questo è un articolo

In generale i pensieri e le soluzioni? Devo solo iniziare con un costume di routing di classe per la massima flessibilità?

È stato utile?

Soluzione

È necessario fare in modo che non ci sarà alcuna sovrapposizione accidentale di alcune regole di routing. Per esempio dire che si sta mettendo la lingua come il primo tag, assicurarsi che non ci saranno notizie-categorie che hanno 'it' per un nome. So che questo è un esempio stupido, ma credo che si ottiene l'immagine. Assicuratevi di mettere il routing più accurata governa scorso.

Personalmente mi sento di strutturare in questo modo:

[language]/[category]/[subcategory]/[itemtitle]/[itemid]

Perché il [itemId] si può chiedere? Se si dispone di un sito web più grande, potrebbe accadere che si dispone di 2 articoli con lo stesso nome. Il tuo codice può "solo capita di essere" scritto per mostrare solo il primo NewsItem restituito, ma altrettanto bene non può essere. Un ID è sempre unico e in termini di SEO, aggiungendo l'ID, in realtà non importa (nella mia esperienza almeno).

È possibile aggiungere un percorso dove [lingua] è lasciato fuori e un default è previsto invece.

Inoltre, Scott Guthrie ha scritto un bel blogpost su questo qualche tempo fa che è sicuramente la pena di leggere, penso che sia ancora valida per MVC 3. può solo dare alcune idee!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top