Control.ResolveUrl(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Convertit une URL en une URL utilisable sur le client demandeur.
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
Paramètres
- relativeUrl
- String
URL associée à la TemplateSourceDirectory propriété.
Retours
URL convertie.
Exceptions
Se produit si le relativeUrl paramètre contient null.
Exemples
L’exemple suivant crée un Image objet de contrôle serveur Web et utilise la ResolveUrl méthode pour définir le chemin d’accès à l’image, qui est stocké par la ImageUrl propriété.
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
Remarques
Si le relativeUrl paramètre contient une URL absolue, l’URL est retournée inchangée. Si le relativeUrl paramètre contient une URL relative, cette URL est remplacée par une URL relative correcte pour le chemin de la requête actuelle, afin que le navigateur puisse résoudre l’URL.
Par exemple, examinez le scénario suivant :
Un client a demandé une page ASP.NET qui contient un contrôle utilisateur associé à une image.
La page ASP.NET se trouve sur /Store/page1.aspx.
Le contrôle utilisateur se trouve sur /Store/UserControls/UC1.ascx.
Le fichier image se trouve à l’emplacement /UserControls/Images/Image1.jpg.
Si le contrôle utilisateur transmet le chemin relatif à l’image (autrement dit, /Store/UserControls/Images/Image1.jpg) à la ResolveUrl méthode, la méthode retourne la valeur /Images/Image1.jpg.
Cette méthode utilise la TemplateSourceDirectory propriété pour résoudre l’URL absolue. L’URL retournée est utilisée par le client.
Pour plus d’informations sur les chemins d’accès aux ressources d’un site Web, consultez ASP.NET chemins d’accès aux projets web.
Note
Pour les pages web mobiles uniquement, si votre application s’appuie sur des sessions sans cookie ou peut recevoir des demandes de navigateurs mobiles qui nécessitent des sessions sans cookie, l’utilisation d’un tilde (« ~ ») dans un chemin peut entraîner la création par inadvertance d’une session et la perte potentielle des données de session. Pour définir une propriété avec un chemin d’accès tel que « ~/path », résolvez le chemin en appelant l’argument ResolveUrl avec un argument tel que « ~/path » avant de l’affecter à la propriété.