Pregunta

¿Cómo obtengo la URL virtual y no el nombre de la página de Forms web al que se asigna la URL al usar System.Web.Routing con WebForms?

Quiero la URL "/confirmación/5" y no "confirmar.aspx".

¿Fue útil?

Solución

Para obtener la URL enrutada Para la página que está visitando actualmente, usar Request.Url, como señala Pavel.

Si necesita obtener la URL enrutada para una página diferente (como al crear un hipervínculo a otra página), use el Page.GetRouteUrl método.

Aquí hay un fragmento de código que muestra el uso de Page.GetRouteUrl. Es de mi artículo, Enrutamiento de URL en ASP.NET 4:

lnkcategory.navigateUrl = page.getRuteUrl ("Ver categoría", new {categoryName = "Beverages"});

En el fragmento anterior, "Ver categoría" es el nombre de la regla de enrutamiento que quiero usar. CategoryName es uno de los parámetros de enrutamiento y quiero usar el valor "bebidas". La llamada anterior a Page.GetRouteUrl Devuelve la cadena "/categorías/bebidas". (Por supuesto, la cadena exacta se devuelve depende de la regla de enrutamiento "Categoría de vista" y los valores de los parámetros, pero espero que obtenga la idea).

Otros consejos

Prueba lo siguiente: System.Web.HttpContext.Current.Request.Url.AbsolutePath

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