Control.ResolveUrl(String) Método

Definição

Converte uma URL numa que seja utilizável no cliente solicitante.

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

O URL associado à TemplateSourceDirectory propriedade.

Devoluções

A URL convertida.

Exceções

Ocorre se o relativeUrl parâmetro contiver null.

Exemplos

O exemplo seguinte cria um Image objeto de controlo de servidor Web e usa o ResolveUrl método para definir o caminho até à imagem, que é armazenada pela ImageUrl propriedade.

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

Observações

Se o relativeUrl parâmetro contiver uma URL absoluta, a URL é devolvida inalterada. Se o relativeUrl parâmetro contiver uma URL relativa, essa URL é alterada para uma URL relativa correta para o caminho de pedido atual, para que o navegador possa resolver a URL.

Por exemplo, considere o seguinte cenário:

  • Um cliente solicitou uma página ASP.NET que contém um controlo de utilizador associado a uma imagem.

  • A página ASP.NET encontra-se em /Store/page1.aspx.

  • O controlo do utilizador está localizado em /Store/UserControls/UC1.ascx.

  • O ficheiro de imagem está localizado em /UserControls/Images/Image1.jpg.

Se o controlo do utilizador passar o caminho relativo para a imagem (ou seja, /Store/UserControls/Images/Image1.jpg) para o ResolveUrl método, o método devolverá o valor /Images/Image1.jpg.

Este método usa a TemplateSourceDirectory propriedade para resolver até à URL absoluta. O URL devolvido é para uso do cliente.

Para mais informações sobre caminhos de recursos num site, consulte ASP.NET Web Project Paths.

Note

Para páginas Web móveis apenas, se a sua aplicação depender de sessões sem cookies ou puder receber pedidos de navegadores móveis que requerem sessões sem cookies, usar um tilde ("~") num caminho pode resultar na criação inadvertida de uma nova sessão e potencialmente na perda de dados da sessão. Para definir uma propriedade com um caminho como "~/caminho", resolve-se o caminho chamando o ResolveUrl com um argumento como "~/caminho" antes de o atribuir à propriedade.

Aplica-se a

Ver também