Control.ResolveUrl(String) Methode

Definition

Konvertiert eine URL in eine vom anfordernden Client verwendbare URL.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

Parameter

relativeUrl
String

Die der TemplateSourceDirectory-Eigenschaft zugeordnete URL.The URL associated with the TemplateSourceDirectory property.

Gibt zurück

Die konvertierte URL.The converted URL.

Ausnahmen

Tritt ein, wenn der relativeUrl-Parameter null enthält.Occurs if the relativeUrl parameter contains null.

Beispiele

Im folgenden Beispiel wird ein Image Webserver-Steuerelement Objekt erstellt und die ResolveUrl-Methode verwendet, um den Pfad zu dem Bild festzulegen, das von der ImageUrl-Eigenschaft gespeichert wird.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

Hinweise

Wenn der relativeUrl-Parameter ein absolute URL enthält, wird die URL unverändert zurückgegeben.If the relativeUrl parameter contains an absolute URL, the URL is returned unchanged. Wenn der relativeUrl-Parameter ein relative URL enthält, wird diese URL in eine relative URL geändert, die für den aktuellen Anforderungs Pfad richtig ist, damit der Browser die URL auflösen kann.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.

Betrachten Sie beispielsweise das folgende Szenario:For example, consider the following scenario:

  • Ein Client hat eine ASP.NET Seite angefordert, die ein Benutzer Steuerelement enthält, dem ein Bild zugeordnet ist.A client has requested an ASP.NET page that contains a user control that has an image associated with it.

  • Die Seite "ASP.net" befindet sich unter/Store/Page1.aspx.The ASP.NET page is located at /Store/page1.aspx.

  • Das Benutzer Steuerelement befindet sich unter/Store/UserControls/UC1.ascx.The user control is located at /Store/UserControls/UC1.ascx.

  • Die Bilddatei befindet sich unter/UserControls/images/image1.jpg.The image file is located at /UserControls/Images/Image1.jpg.

Wenn das Benutzer Steuerelement den relativen Pfad an das Bild (d. h./Store/UserControls/images/image1.jpg) an die ResolveUrl-Methode übergibt, gibt die Methode den Wert/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.

Diese Methode verwendet die TemplateSourceDirectory-Eigenschaft, um die absolute URL aufzulösen.This method uses the TemplateSourceDirectory property to resolve to the absolute URL. Die zurückgegebene URL dient zur Verwendung durch den Client.The returned URL is for client use.

Weitere Informationen zu Ressourcen Pfaden auf einer Website finden Sie unter ASP.net Web Project Path.For more information on resource paths in a Web site, see ASP.NET Web Project Paths.

Hinweis

Nur für mobile Webseiten: Wenn Ihre Anwendung auf cookiless-Sitzungen basiert oder Anforderungen von mobilen Browsern empfängt, für die cookielose Sitzungen erforderlich sind, kann die Verwendung einer Tilde ("~") in einem Pfad dazu führen, dass versehentlich eine neue Sitzung erstellt wird und potenziell Verlust von Sitzungsdaten.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. Um eine Eigenschaft mit einem Pfad wie z. b. "~/Pfad" festzulegen, müssen Sie den Pfad auflösen, indem Sie die ResolveUrl mit einem Argument wie "~/path" aufrufen, bevor Sie es der Eigenschaft zuweisen.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.

Gilt für:

Siehe auch