Control.ResolveUrl(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje adres URL na adres, który może być używany przez klienta żądającego.
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
Parametry
- relativeUrl
- String
Adres URL skojarzony z właściwością TemplateSourceDirectory .
Zwraca
Przekonwertowany adres URL.
Wyjątki
Występuje, relativeUrl
jeśli parametr zawiera null
wartość .
Przykłady
Poniższy przykład tworzy Image obiekt kontroli serwera sieci Web i używa ResolveUrl metody , aby ustawić ścieżkę do obrazu, który jest przechowywany przez ImageUrl właściwość.
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
Uwagi
relativeUrl
Jeśli parametr zawiera bezwzględny adres URL, adres URL jest zwracany bez zmian.
relativeUrl
Jeśli parametr zawiera względny adres URL, ten adres URL zostanie zmieniony na względny adres URL, który jest poprawny dla bieżącej ścieżki żądania, aby przeglądarka mogła rozpoznać adres URL.
Na przykład rozważmy następujący scenariusz:
Klient zażądał strony ASP.NET zawierającej kontrolkę użytkownika, która ma skojarzony z nim obraz.
Strona ASP.NET znajduje się w lokalizacji /Store/page1.aspx.
Kontrolka użytkownika znajduje się w lokalizacji /Store/UserControls/UC1.ascx.
Plik obrazu znajduje się w lokalizacji /UserControls/Images/Image1.jpg.
Jeśli kontrolka użytkownika przekazuje ścieżkę względną do obrazu (czyli /Store/UserControls/Images/Image1.jpg) do ResolveUrl metody, metoda zwróci wartość /Images/Image1.jpg.
Ta metoda używa TemplateSourceDirectory właściwości do rozpoznawania bezwzględnego adresu URL. Zwrócony adres URL jest przeznaczony do użycia przez klienta.
Aby uzyskać więcej informacji na temat ścieżek zasobów w witrynie sieci Web, zobacz ASP.NET Ścieżki projektów internetowych.
Uwaga
Tylko w przypadku mobilnych stron sieci Web, jeśli aplikacja korzysta z sesji bez plików cookie lub może odbierać żądania od przeglądarek mobilnych wymagających sesji bez plików cookie, użycie tyldy ("~") w ścieżce może spowodować nieumyślne utworzenie nowej sesji i potencjalnie utratę danych sesji. Aby ustawić właściwość z ścieżką, taką jak "~/path", rozwiąż ścieżkę, wywołując ResolveUrl argument z argumentem, takim jak "~/path" , przed przypisaniem jej do właściwości.