Ler en inglés

Compartir por


Control.ResolveUrl(String) Método

Definición

Convierte una dirección URL en una que el cliente solicitante pueda utilizar.

C#
public string ResolveUrl(string relativeUrl);

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 .

C#
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);         
   }     
}

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 .

Se aplica a

Produto Versións
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Consulte también