Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Control.ResolveUrl, méthode
Convertit une URL en une URL que le client soit en mesure d'utiliser.
Assembly : System.Web (dans System.Web.dll)
Paramètres
- relativeUrl
- Type : System.String
URL associée à la propriété TemplateSourceDirectory.
| Exception | Condition |
|---|---|
| ArgumentNullException |
Se produit si le paramètre relativeUrl contient null. |
Si le paramètre relativeUrl contient une URL absolue, l'URL est retournée telle quelle. Si le paramètre relativeUrl contient une URL relative, celle-ci est convertie en une URL relative correcte pour le chemin d'accès de la demande en cours, de sorte que le navigateur puisse résoudre l'URL.
Observez par exemple le scénario suivant :
-
Un client a demandé une page ASP.NET contenant un contrôle utilisateur auquel une image est associée.
-
La page ASP.NET figure à l'emplacement /Store/page1.aspx.
-
Le contrôle utilisateur figure, lui, à l'emplacement /Store/UserControls/UC1.ascx.
-
Enfin, le chemin d'accès au fichier image est /UserControls/Images/Image1.jpg.
Si le contrôle utilisateur passe le chemin d'accès relatif de l'image (en l'occurrence, /Store/UserControls/Images/Image1.jpg) à la méthode ResolveUrl, cette dernière retourne la valeur /Images/Image1.jpg.
Cette méthode utilise la propriété TemplateSourceDirectory pour résoudre en l'URL absolue. L'URL retournée est destinée au client.
Pour plus d'informations sur les chemins d'accès de ressources dans un site Web, consultez Chemins d'accès aux projets Web ASP.NET.
Remarque
|
|---|
|
Pour les pages Web mobile uniquement, si votre application s'appuie sur les sessions sans cookie ou est susceptible de recevoir des demandes émanant de navigateurs mobiles qui requièrent des sessions sans cookie, l'utilisation d'un tilde ("~") dans un chemin d'accès peut provoquer la création involontaire d'une session et la perte potentielle de données de session. Pour définir une propriété avec un chemin d'accès, par exemple "~/CheminAccès", résolvez le chemin d'accès en appelant ResolveUrl avec un argument tel que "~/CheminAccès" avant de l'assigner à la propriété. |
L'exemple suivant crée un objet de contrôle serveur Web Image et utilise la méthode ResolveUrl pour définir le chemin d'accès à l'image, laquelle est stockée par la propriété ImageUrl.
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); } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Remarque