Control.ResolveUrl(String) Método

Definición

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 .

Se aplica a

Consulte también