Enrutamiento de URL en ASP.NET 4.0


Enrutamiento de URL

El Enrutamiento de URL de ASP.NET permite configurar una aplicación para que acepte una solicitud cuya URL no refleja la asignación a un archivo físico sino que define una URL semánticamente significativa para los usuarios y optimizada para los motores de búsqueda (SEO), cuyo “enrutamiento” devuelve el recurso (archivo) correspondiente.

Por ejemplo, la URL de una página que muestra las tradicionales categorías de productos podría ser como la siguiente:

http://www.mysite.com/products.aspx?category=software

Usando el motor de enrutamiento de URL en ASP.NET 4.0 ahora se puede configurar la aplicación para acepte la siguiente dirección URL:

http://www.mysite.com/products/software

Donde: /products/software se dirige a la página products.aspx y software se mapea como el valor del parámetro category requerido.

step2

Mapeo de URLs con Páginas ASP.NET

Esta característica se introdujo en ASP.NET 3.5 con ASP.NET MVC para redirigir las llamadas a Controladores. Pero con ASP.NET 4.0 también se podrá asignar a las páginas tradicionales Web Forms de ASP.NET.

Dentro de la página Products.aspx se puede escribir código como el siguiente que utiliza la nueva propiedad Page.RouteData de ASP.NET 4.0 para recuperar la categoría mediante el valor del parámetro asignado a /products/{category}, para finalmente obtener y mostrar los productos correspondientes:

step3

También podría tomar ventaja del control <asp:routeparameter> que se puede utilizar con cualquier control DataSource de ASP.NET para realizar lo anterior de forma declarativa.

step4

Recuperación de la URL de un Web Form ASP.NET

El motor de enrutamiento de URL en ASP.NET se puede utilizar tanto para el mapeo de las direcciones URL entrantes, como para generar las direcciones URL de salida, utilizando la misma lógica del registro de asignación. Esto nos permite cambiar las asignaciones de mapeo de URLs sin tener que modificar una página o un controlador de código específico para que lo refleje.

Para ello podemos utilizar el nuevo método Page.GetRouteUrl() para buscar la ruta en el sistema de enrutamiento de URL, especificando los parámetros a la misma, y después recuperar una URL que es devuelta al mapeo. Por ejemplo, el siguiente código recuperaría el valor de la URL "/products/software":

step6

Existe también ahora un conjunto de métodos Response.RedirectToRoute() que puede utilizar para dirigir al usuario a una ruta (independientemente de si se trata de un Controlador MVC o de Web Forms) y, opcionalmente, pasarle parámetros a la misma.

Manejo de Escenarios PostBack

El enrutamiento de URL de ASP.NET 4.0 es totalmente compatible con los escenarios de devolución de datos (postback). El control <form runat="server"> automáticamente emiten la misma URL que causó que la página sea prestada, lo que significa que cualquier escenario postback que ocurra en la página preservará la URL original.

En resumen, ASP.NET 4.0 hace que sea fácil de implementar URLs limpias, amistosas para motores de búsqueda (SEO), y el cual es utilizando ya con ASP.NET MVC pero ahora también con ASP.NET Web Forms soportando escenarios de postback. Ahora ya no tendremos que emplear los trucos para la reescritura de la URL para lograr efectos similares.

Mayor información:

Acerca de Willy Mejia

Developer, Techie, Human... http://about.me/willyxoft
Esta entrada fue publicada en ASP.NET, NetFx4. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s