Control.ResolveUrl(String) Methode

Definition

Konvertiert eine URL in eine vom anfordernden Client verwendbare URL.

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

Parameter

relativeUrl
String

Die der TemplateSourceDirectory-Eigenschaft zugeordnete URL.

Gibt zurück

String

Die konvertierte URL.

Ausnahmen

Tritt ein, wenn der relativeUrl-Parameter null enthält.

Beispiele

Im folgenden Beispiel wird ein Image Webserversteuerelementobjekt erstellt und die ResolveUrl Methode zum Festlegen des Pfads zum Bild verwendet, das von der ImageUrl Eigenschaft gespeichert wird.

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

Hinweise

Wenn der relativeUrl Parameter eine absolute URL enthält, wird die URL unverändert zurückgegeben. Wenn der relativeUrl Parameter eine relative URL enthält, wird diese URL in eine relative URL geändert, die für den aktuellen Anforderungspfad korrekt ist, damit der Browser die URL auflösen kann.

Betrachten Sie beispielsweise das folgende Szenario:

  • Ein Client hat eine ASP.NET Seite angefordert, die ein Benutzersteuerelement enthält, das einem Bild zugeordnet ist.

  • Die ASP.NET Seite befindet sich unter /Store/page1.aspx.

  • Das Benutzersteuerelement befindet sich unter /Store/UserControls/UC1.ascx.

  • Die Bilddatei befindet sich unter /UserControls/Images/Image1.jpg.

Wenn das Benutzersteuerelement den relativen Pfad zum Bild (also /Store/UserControls/Images/Image1.jpg) an die ResolveUrl Methode übergibt, gibt die Methode den Wert /Images/Image1.jpg zurück.

Diese Methode verwendet die TemplateSourceDirectory Eigenschaft, um die absolute URL aufzulösen. Die zurückgegebene URL ist für die Clientverwendung vorgesehen.

Weitere Informationen zu Ressourcenpfaden auf einer Website finden Sie unter ASP.NET Web Project Pfade.

Hinweis

Nur für mobile Webseiten, wenn Ihre Anwendung auf cookielose Sitzungen angewiesen ist oder Anforderungen von mobilen Browsern empfängt, die cookielose Sitzungen erfordern, kann die Verwendung einer Tilde ("~") in einem Pfad dazu führen, dass versehentlich eine neue Sitzung erstellt und möglicherweise Sitzungsdaten verloren gehen. Um eine Eigenschaft mit einem Pfad wie "~/Path" festzulegen, lösen Sie den Pfad, indem Sie den ResolveUrl Pfad mit einem Argument wie "~/Path" aufrufen, bevor sie der Eigenschaft zugewiesen wird.

Gilt für

Siehe auch