Obtenga la URL virtual al usar el enrutamiento con Forms Web
-
24-10-2019 - |
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".
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