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 é 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
A URL associada à TemplateSourceDirectory propriedade.
Retornos
A URL convertida.
Exceções
Ocorrerá se o relativeUrl parâmetro 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 ela.
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 seu aplicativo depende de sessões sem cookie ou pode receber solicitações de navegadores móveis que exigem sessões sem cookie, usar um bloco ("~") em um caminho pode resultar na criação inadvertida de uma nova sessão e potencialmente perda 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.