Control.ResolveUrl(String) Control.ResolveUrl(String) Control.ResolveUrl(String) Control.ResolveUrl(String) Method

Definición

Convierte una dirección URL en una que el cliente solicitante pueda utilizar.Converts a URL into one that is usable on the requesting client.

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 String String String

Dirección URL asociada a la propiedad TemplateSourceDirectory.The URL associated with the TemplateSourceDirectory property.

Devoluciones

Dirección URL convertida.The converted URL.

Excepciones

Se produce si el parámetro relativeUrl contiene null.Occurs if the relativeUrl parameter contains null.

Ejemplos

En el ejemplo siguiente se crea un Image Web objeto de control de servidor y usa el ResolveUrl método para establecer la ruta de acceso a la imagen, que se almacena en el ImageUrl propiedad.The following example creates an Image Web server control object and uses the ResolveUrl method to set the path to the image, which is stored by the ImageUrl property.

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 modificar.If the relativeUrl parameter contains an absolute URL, the URL is returned unchanged. Si el relativeUrl parámetro contiene una dirección URL relativa, que se cambia la dirección URL a una dirección URL relativa que sea correcta para la ruta de acceso de la solicitud actual, para que el explorador pueda resolver la dirección URL.If the relativeUrl parameter contains a relative URL, that URL is changed to a relative URL that is correct for the current request path, so that the browser can resolve the URL.

Por ejemplo, considere el siguiente escenario:For example, consider the following scenario:

  • Un cliente ha solicitado una página ASP.NET que contiene un control de usuario que tenga una imagen asociada con él.A client has requested an ASP.NET page that contains a user control that has an image associated with it.

  • La página ASP.NET se encuentra en/Store/Page1.aspx.The ASP.NET page is located at /Store/page1.aspx.

  • El control de usuario se encuentra en /Store/UserControls/UC1.ascx.The user control is located at /Store/UserControls/UC1.ascx.

  • El archivo de imagen se encuentra en /UserControls/Images/Image1.jpg.The image file is located at /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) a la ResolveUrl método, el método devolverá el valor/images/image1.jpg.If the user control passes the relative path to the image (that is, /Store/UserControls/Images/Image1.jpg) to the ResolveUrl method, the method will return the value /Images/Image1.jpg.

Este método usa la TemplateSourceDirectory propiedad para resolver la dirección URL absoluta.This method uses the TemplateSourceDirectory property to resolve to the absolute URL. La dirección URL devuelta es para uso del cliente.The returned URL is for client use.

Para obtener más información sobre las rutas de acceso del recurso en un sitio Web, consulte rutas de acceso del proyecto de ASP.NET Web.For more information on resource paths in a Web site, see ASP.NET Web Project Paths.

Nota

Para páginas Web móviles, si la aplicación se basa en sesiones sin cookies o puede recibir solicitudes de los exploradores móviles que requieren sesiones sin cookies, usando una tilde ("~") en una ruta de acceso puede dar lugar a accidentalmente creando una nueva sesión y pérdida de datos de la sesión.For mobile Web pages only, if your application relies on cookieless sessions or might receive requests from mobile browsers that require cookieless sessions, using a tilde ("~") in a path can result in inadvertently creating a new session and potentially losing session data. Para establecer una propiedad con una ruta de acceso como "~/ruta de acceso", resolver la ruta de acceso mediante una llamada a la ResolveUrl con un argumento, como "~/ruta de acceso" antes de asignarlo a la propiedad.To set a property with a path such as "~/path", resolve the path by calling the ResolveUrl with an argument such as "~/path" before assigning it to the property.

Se aplica a

Consulte también: