Pregunta

estoy empezando un puerto de un ASP.NET Web Forms existentes CMS para ASP.NET MVC y quieren obtener el derecho de enrutamiento desde el principio.

Nota:. No es importante tener exactamente la misma estructura de la URL

esta respuesta está cerca de lo que estoy buscando pero me gustaría alguna entrada adicional si alguien lo tiene.

El trucción URL actual es como:

  

? Content = Noticias / CurrentNews / This_is_a_news_article
  ? Contenido = corporativa / about_us / Visión general

, etc, etc

Me gustaría añadir un parámetro de idioma opcional y mantener una estructura similar en MVC. Así que algo como:

  

Noticias / CurrentNews / Este-is-a-noticias-artículo
  es / Noticias / CurrentNews / Este-is-a-noticias-artículo

     

editar / Noticias / CurrentNews / Este-is-a-noticias-artículo
  editar / es / noticias / CurrentNews / Este-is-a-noticias-artículo

o soy mejor con la inversa?

  

Noticias / CurrentNews / Este-is-a-noticias-artículo / editar
  es / Noticias / CurrentNews / Este-is-a-noticias-artículo / editar

Creo que de esta manera (con la acción sobre un extremo) requries una ruta para cada escenario de otras preguntas que he leído.

El otro punto es que las URL existentes se hacen así para SEO y generación de miga de pan. es decir, los espectáculos de URL la ruta de navegación actual.

Yo sólo podía mostrar la página actual en la URL y construir las migas de pan a partir de la base de datos separadamente.

Al igual que:

  

es / Este-is-a-noticias-artículo

con miga

  

Inicio> Noticias> Noticias de corriente> Este es un artículo de noticias

pensamientos y soluciones en general? ¿Debo comenzar con una clase personalizada de enrutamiento para una máxima flexibilidad?

¿Fue útil?

Solución

Hay que asegurarse de que no habrá superposición accidental de ciertas reglas de enrutamiento. Por ejemplo digamos que usted está poniendo la lengua como la primera etiqueta, asegúrese de que no habrá noticias-categorías que tienen 'es' para un nombre. Sé que esto es un ejemplo tonto, pero creo que se obtiene la imagen. Asegúrese de poner el enrutamiento de menor precisión gobierna pasado.

En lo personal me gustaría estructurar de esta manera:

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

¿Por qué la [itemId] se puede pedir? Si usted tiene un sitio web grande, puede ocurrir que usted tiene 2 artículos de noticias con el mismo nombre exacto. Su código puede "acaba de pasar a ser" escrito para mostrar sólo el primer elemento Novedades regresó, pero del mismo modo que no puede ser. Un ID es siempre único y en términos de SEO, añadiendo el ID, realmente no importa (en mi experiencia por lo menos).

Se puede añadir una ruta donde [idioma] se queda fuera y se proporciona un defecto en su lugar.

Además, Scott Guthrie ha escrito un buen entrada de blog en este hace un tiempo que es definitivamente vale la pena leer, creo que sigue siendo válida para MVC 3. Sólo le puede dar algunas ideas!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top