Control.ResolveUrl(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.