Control.ResolveUrl(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Convierte una dirección URL en una que el cliente solicitante pueda utilizar.
public:
System::String ^ ResolveUrl(System::String ^ relativeUrl);
public string ResolveUrl (string relativeUrl);
member this.ResolveUrl : string -> string
Public Function ResolveUrl (relativeUrl As String) As String
Parámetros
- relativeUrl
- String
Dirección URL asociada a la propiedad TemplateSourceDirectory.
Devoluciones
Dirección URL convertida.
Excepciones
Se produce si el parámetro relativeUrl
contiene null
.
Ejemplos
En el ejemplo siguiente se crea un Image objeto de control de servidor web y se usa el ResolveUrl método para establecer la ruta de acceso a la imagen, que almacena la ImageUrl propiedad .
public class MyResolveUrl:Control
{
private string _ImageUrl;
public string ImageUrl
{
get
{
return _ImageUrl;
}
set
{
_ImageUrl = value;
}
}
protected override void Render(HtmlTextWriter output)
{
Image myImage = new Image();
// Resolve Url.
myImage.ImageUrl = ResolveUrl(this.ImageUrl);
myImage.RenderControl(output);
}
}
Public Class MyResolveUrl
Inherits Control
Private _ImageUrl As String
Public Property ImageUrl() As String
Get
Return _ImageUrl
End Get
Set
_ImageUrl = value
End Set
End Property
Protected Overrides Sub Render(output As HtmlTextWriter)
Dim myImage As New System.Web.UI.WebControls.Image()
' Resolve Url.
myImage.ImageUrl = ResolveUrl(Me.ImageUrl)
myImage.RenderControl(output)
End Sub
End Class
Comentarios
Si el relativeUrl
parámetro contiene una dirección URL absoluta, la dirección URL se devuelve sin cambios. Si el relativeUrl
parámetro contiene una dirección URL relativa, esa dirección URL se cambia a una dirección URL relativa correcta para la ruta de acceso de solicitud actual, de modo que el explorador pueda resolver la dirección URL.
Por ejemplo, tenga en cuenta el siguiente caso:
Un cliente ha solicitado una página de ASP.NET que contiene un control de usuario que tiene una imagen asociada.
La página ASP.NET se encuentra en /Store/page1.aspx.
El control de usuario se encuentra en /Store/UserControls/UC1.ascx.
El archivo de imagen se encuentra en /UserControls/Images/Image1.jpg.
Si el control de usuario pasa la ruta de acceso relativa a la imagen (es decir, /Store/UserControls/Images/Image1.jpg) al ResolveUrl método , el método devolverá el valor /Images/Image1.jpg.
Este método usa la TemplateSourceDirectory propiedad para resolver en la dirección URL absoluta. La dirección URL devuelta es para el uso del cliente.
Para obtener más información sobre las rutas de acceso de recursos en un sitio web, consulte ASP.NET rutas de acceso de proyecto web.
Nota
Solo para las páginas web móviles, si la aplicación se basa en sesiones sin cookies o puede recibir solicitudes de exploradores móviles que requieren sesiones sin cookies, el uso de una tilde ("~") en una ruta de acceso puede dar lugar a la creación involuntaria de una nueva sesión y posiblemente perder datos de sesión. Para establecer una propiedad con una ruta de acceso como "~/path", resuelva la ruta de acceso llamando a ResolveUrl con un argumento como "~/path" antes de asignarla a la propiedad .