2010-01-10 10 views
6

Para obtener la URL de la página actual, que suele hacer algo como esto:asp.net Después de un Server.Transfer, ¿cómo obtiene la ruta de acceso de la página actual?

string path = Request.Path; 

Si hago esto después de un Server.Transfer entonces consigo la ruta de la página donde se realizó la transferencia. ¿Cómo puedo obtenerlo para la página actual?

Por ejemplo:

En Page1.aspx hago Server.Transfer ("Page2.aspx")
En Page2.aspx Request.Path vuelve /Page1.aspx y no /Page2.aspx

Me gustaría obtener /Page2.aspx. ¿Cómo puedo obtenerlo?

+0

¿Quieres decir 'Server.Transfer'? – SLaks

+0

Exacto. He editado la pregunta. – Anthony

Respuesta

13

Está buscando la propiedad Request.CurrentExecutionFilePath.

+0

Parece que hace el truco. Gracias. – Anthony

+0

Parece que no. – Serge

+0

Puede usar Request.QueryString para obtener también la cadena de consulta de la página actual, por lo que la URL completa será Request.CurrentExecutionFilePath + "?" + Request.QueryString.ToString() – Rayyan

0

Cuando utiliza Server.Transfer, a pesar de que la URL del navegador no cambia, la URL de referencias de solicitud sí lo hace. Por lo tanto, puede usar la Solicitud de la propiedad UrlReferrer. UrlReferrer obtiene información acerca de la URL de la solicitud anterior del cliente vinculada a la URL actual.

Por ejemplo

string myContextBrowserPath = Context.Request.UrlReferrer.AbsolutePath 
Cuestiones relacionadas