Compartilhar via


Control.ResolveUrl(String) Método

Definição

Converte uma URL em uma que possa ser usada 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

A URL associada à propriedade TemplateSourceDirectory.

Retornos

A URL convertida.

Exceções

Ocorrerá se o parâmetro relativeUrl contiver null.

Exemplos

O exemplo a seguir cria um Image objeto de controle de servidor Web e usa o ResolveUrl método para definir o caminho para a 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

Comentários

Se o relativeUrl parâmetro contiver uma URL absoluta, a URL será retornada inalterada. Se o relativeUrl parâmetro contiver uma URL relativa, essa URL será alterada para uma URL relativa correta para o caminho da solicitação 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 controle de usuário que tem uma imagem associada a ele.

  • A página ASP.NET está localizada em /Store/page1.aspx.

  • O controle de usuário está localizado em /Store/UserControls/UC1.ascx.

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

Se o controle de usuário passar o caminho relativo para a imagem (ou seja, /Store/UserControls/Images/Image1.jpg) para o ResolveUrl método , o método retornará o valor /Images/Image1.jpg.

Esse método usa a TemplateSourceDirectory propriedade para resolver para a URL absoluta. A URL retornada é para uso do cliente.

Para obter mais informações sobre caminhos de recursos em um site, consulte ASP.NET Caminhos do Projeto Web.

Observação

Somente para páginas da Web móveis, se o aplicativo depender de sessões sem cookie ou receber solicitações de navegadores móveis que exigem sessões sem cookie, o uso de um til ("~") em um caminho poderá resultar na criação inadvertida de uma nova sessão e na perda potencial de dados de sessão. Para definir uma propriedade com um caminho como "~/path", resolva o caminho chamando o ResolveUrl com um argumento como "~/path" antes de atribuí-lo à propriedade.

Aplica-se a

Confira também