Freigeben über


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

Die konvertierte URL.

Ausnahmen

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

Beispiele

Im folgenden Beispiel wird ein Image Webserversteuerelementobjekt erstellt und mithilfe der ResolveUrl -Methode der Pfad zum Image festgelegt, 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, dem ein Image zugeordnet ist.

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

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

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

Wenn das Benutzersteuerelement den relativen Pfad zum Image (d. h. /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 in 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 Webprojektpfade.

Hinweis

Nur für mobile Webseiten, wenn Ihre Anwendung cookielose Sitzungen verwendet 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 wird und möglicherweise Sitzungsdaten verloren gehen. Um eine Eigenschaft mit einem Pfad wie "~/path" festzulegen, lösen Sie den Pfad auf, indem Sie mit ResolveUrl einem Argument wie "~/path" aufrufen, bevor Sie ihn der Eigenschaft zuweisen.

Gilt für:

Weitere Informationen