2011-08-12 7 views
9

Tengo un control de usuario donde si se realiza una determinada acción quiero redirigir a la página en la que estaba el usuario con algunos parámetros de cadena de consulta adicionales.Cómo encontrar la url de la página padre de un control de usuario

Entonces, si UserControl.ascx estaba en Home.aspx, quiero redireccionar a Home.aspx? Action = true, y si UserControl.ascx estaba en Profile.aspx, quiero redireccionar a Profile.aspx? Action = verdadero

Así que, básicamente, en mi UserControl.ascx.cs quiero obtener la URL de la Página principal. ¿Cómo puedo obtenerlo?

Respuesta

14

Usted puede mirar en el Request.Url, Request.RawUrl, Request.FilePath, y algunas de las otras propiedades similares del objeto Request - dependiendo de cómo se está usando esto.

Esto le dará la URL solicitada desde el navegador, que a su vez le dirá en qué página está viviendo su control.

+0

Request.Url trae un System.Uri - en [MSDN aquí] (http://msdn.microsoft.com/en-us/library/system.uri.aspx) – mlhDev

2

todavía tiene acceso al objeto solicitud del control de usuario, por lo que hacer algo como esto:

string currentUrl = Request.Url.AbsoluteUri.ToString(); 
1

Request.UrlReferrer te llevará a la URL de la página anterior ... normalmente. Hay algunas situaciones en las que podría estar vacía:

  • enlaces clic de un mensaje de correo electrónico
  • atajos guardados en un escritorio
  • direcciones URL falseadas
  • quizá algunos ajustes o navegadores
  • probablemente otros escenarios como bien

Siempre que su código "se reproduzca bien" cuando UrlReferrer está vacío o no es válido, debe estar listo.

-1
Request.Url.Scheme + "://" + Request.Url.Host + Request.RawUrl 
+0

Su respuesta sería más útil si explicó por qué resuelve el problema. –

Cuestiones relacionadas