Control.ResolveUrl(String) Metoda

Definicja

Konwertuje adres URL na taki, który jest używany na żądającym klienta.Converts a URL into one that is usable on the requesting client.

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 TemplateSourceDirectory właściwością.The URL associated with the TemplateSourceDirectory property.

Zwraca

String

Przekonwertowany adres URL.The converted URL.

Wyjątki

Występuje, gdy relativeUrl parametr zawiera null .Occurs if the relativeUrl parameter contains null.

Przykłady

Poniższy przykład tworzy Image obiekt formantu serwera sieci Web i używa ResolveUrl metody do ustawiania ścieżki do obrazu, który jest przechowywany przez ImageUrl Właściwość.The following example creates an Image Web server control object and uses the ResolveUrl method to set the path to the image, which is stored by the ImageUrl property.

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

Jeśli relativeUrl parametr zawiera bezwzględny adres URL, adres URL jest zwracany bez zmian.If the relativeUrl parameter contains an absolute URL, the URL is returned unchanged. Jeśli relativeUrl 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, dzięki czemu przeglądarka może rozpoznać adres URL.If the relativeUrl parameter contains a relative URL, that URL is changed to a relative URL that is correct for the current request path, so that the browser can resolve the URL.

Na przykład rozważmy następujący scenariusz:For example, consider the following scenario:

  • Klient zażądał strony ASP.NET, która zawiera kontrolkę użytkownika, z którą skojarzono obraz.A client has requested an ASP.NET page that contains a user control that has an image associated with it.

  • Strona ASP.NET znajduje się w witrynie/Store/page1.aspx.The ASP.NET page is located at /Store/page1.aspx.

  • Kontrolka użytkownika znajduje się w/Store/UserControls/UC1.ascx.The user control is located at /Store/UserControls/UC1.ascx.

  • Plik obrazu znajduje się w/UserControls/Images/Image1.jpg.The image file is located at /UserControls/Images/Image1.jpg.

Jeśli kontrolka użytkownika przekaże ścieżkę względną do obrazu (czyli/Store/UserControls/Images/Image1.jpg) do ResolveUrl metody, metoda zwróci wartość/Images/Image1.jpg.If the user control passes the relative path to the image (that is, /Store/UserControls/Images/Image1.jpg) to the ResolveUrl method, the method will return the value /Images/Image1.jpg.

Ta metoda używa TemplateSourceDirectory właściwości do rozpoznawania jako bezwzględnego adresu URL.This method uses the TemplateSourceDirectory property to resolve to the absolute URL. Zwrócony adres URL jest używany do użycia przez klienta.The returned URL is for client use.

Aby uzyskać więcej informacji na temat ścieżek zasobów w witrynie sieci Web, zobacz ścieżki projektu sieci web ASP.NET.For more information on resource paths in a Web site, see ASP.NET Web Project Paths.

Uwaga

W przypadku tylko stron sieci Web dla urządzeń przenośnych, jeśli aplikacja korzysta z sesji bez plików cookie lub może odbierać żądania z przeglądarek mobilnych, które wymagają bezzbyt wielu sesji, przy użyciu tyldy (" ~ ") w ścieżce może spowodować niezamierzone utworzenie nowej sesji i potencjalnie utratę danych sesji.For mobile Web pages only, if your application relies on cookieless sessions or might receive requests from mobile browsers that require cookieless sessions, using a tilde ("~") in a path can result in inadvertently creating a new session and potentially losing session data. Aby ustawić właściwość ze ścieżką, taką jak " ~ / Path", należy rozwiązać ścieżkę, wywołując metodę ResolveUrl z argumentem, takim jak " ~ / Path" przed przypisaniem go do właściwości.To set a property with a path such as "~/path", resolve the path by calling the ResolveUrl with an argument such as "~/path" before assigning it to the property.

Dotyczy

Zobacz też