Control.ResolveUrl(String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.