Control.ResolveUrl(String) Metodo

Definizione

Converte un URL in un formato utilizzabile dal client richiedente.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

Parametri

relativeUrl
String

URL associato alla proprietà TemplateSourceDirectory.The URL associated with the TemplateSourceDirectory property.

Restituisce

URL convertito.The converted URL.

Eccezioni

Viene generato se il parametro relativeUrl contiene null.Occurs if the relativeUrl parameter contains null.

Esempi

Nell'esempio seguente viene creato un oggetto Image controllo server Web e viene utilizzato il metodo ResolveUrl per impostare il percorso dell'immagine, archiviato dalla proprietà ImageUrl.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

Commenti

Se il relativeUrl parametro contiene un URL assoluto, l'URL viene restituito invariato.If the relativeUrl parameter contains an absolute URL, the URL is returned unchanged. Se il relativeUrl parametro contiene un URL relativo, l'URL viene modificato in un URL relativo corretto per il percorso di richiesta corrente, in modo che il browser possa risolvere l'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.

Prendere ad esempio in considerazione i seguenti scenari:For example, consider the following scenario:

  • Un client ha richiesto una pagina ASP.NET contenente un controllo utente a cui è associata un'immagine.A client has requested an ASP.NET page that contains a user control that has an image associated with it.

  • La pagina ASP.NET è /Store/Page1.aspx.The ASP.NET page is located at /Store/page1.aspx.

  • Il controllo utente si trova in/Store/UserControls/UC1.ascx.The user control is located at /Store/UserControls/UC1.ascx.

  • Il file di immagine si trova in/UserControls/Images/Image1.jpg.The image file is located at /UserControls/Images/Image1.jpg.

Se il controllo utente passa il percorso relativo dell'immagine (vale a dire /Store/UserControls/Images/Image1.jpg) per il ResolveUrl (metodo), il metodo restituirà il valore /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.

Questo metodo usa la proprietà TemplateSourceDirectory per risolvere l'URL assoluto.This method uses the TemplateSourceDirectory property to resolve to the absolute URL. L'URL restituito è per l'uso da parte del client.The returned URL is for client use.

Per ulteriori informazioni sui percorsi delle risorse in un sito Web, vedere ASP.NET Web Project Paths.For more information on resource paths in a Web site, see ASP.NET Web Project Paths.

Nota

Solo per le pagine Web per dispositivi mobili, se l'applicazione si basa su sessioni senza cookie o potrebbe ricevere richieste da browser per dispositivi mobili che richiedono sessioni senza cookie, l'uso di una tilde ("~") in un percorso può causare la creazione involontaria di una nuova sessione e potenzialmente perdita di dati della sessione.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. Per impostare una proprietà con un percorso quale "~/percorso", risolvere il percorso chiamando il ResolveUrl con un argomento quale "~/percorso" prima di assegnarlo alla proprietà.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.

Si applica a

Vedi anche