Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Chemin d'une page

3 réponses
Avatar
Gloops
Bonjour tout le monde,

Pour d=E9signer une certaine page on dispose de plusieurs syntaxes, j'en =

ai trouv=E9 une qui a l'air de fonctionner ici sur localhost, je voudrais=
=20
savoir si quelqu'un a quelque chose de mieux =E0 proposer (voire=20
=E9ventuellement si on sait pourquoi ...)

Depuis une page quelconque je veux renvoyer =E0 la page AR.aspx =E0 la=20
racine du site. La derni=E8re ligne ci-dessous (apr=E8s le +) ferait bien=
=20
l'affaire depuis la page (adresse relative), mais si je veux une adresse =

qui puisse fonctionner depuis un mail il faut une adresse absolue, donc=20
l=E0 je mets toute la sauce.

Pour =E9largir la question, Server.MapPath, lanc=E9 depuis Visual Studio,=
=20
donne non pas une adresse qui commence par http://localpath, mais une=20
adresse qui commence par C:\Documents and Settings, =E0 savoir l'adresse =

de la source. Dans quels cas est-ce utile ?


string strURL =3D Request.Url.AbsoluteUri;
this.HyperLink2.NavigateUrl =3D
strURL.Substring(0, strURL.Length -=20
Request.Url.LocalPath.Length)
+ this.ResolveUrl("~/AR.aspx");

3 réponses

Avatar
Gloops
Gloops a écrit, le 06/09/2009 22:14 :
donne non pas une adresse qui commence par http://localpath



ou localhost, on va dire ;)
Avatar
Gilles TOURREAU
Bonjour,

En ASP .NET, préférez l'utilisation des URL "virtuel" (commençant par "~/").
Utilisez la classe VirtualPathUtility afin de convertir cette URL virtuelle
en URL "réelle", ou "this.ResolveUrl()".

Server.MapPath() permet de convertir "un emplacement URL" en un emplacement
"physique" sur le serveur. On utilise cette méthode lorsque l'on souhaite
gérer un fichier (via System.IO).

Cordialement

--
Gilles TOURREAU - MVP C#
E-Mail :
Site Web : http://gilles.tourreau.fr

Société P.O.S - Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr

"Gloops" a écrit dans le message de groupe de
discussion :
Bonjour tout le monde,

Pour désigner une certaine page on dispose de plusieurs syntaxes, j'en ai
trouvé une qui a l'air de fonctionner ici sur localhost, je voudrais
savoir si quelqu'un a quelque chose de mieux à proposer (voire
éventuellement si on sait pourquoi ...)

Depuis une page quelconque je veux renvoyer à la page AR.aspx à la racine
du site. La dernière ligne ci-dessous (après le +) ferait bien l'affaire
depuis la page (adresse relative), mais si je veux une adresse qui puisse
fonctionner depuis un mail il faut une adresse absolue, donc là je mets
toute la sauce.

Pour élargir la question, Server.MapPath, lancé depuis Visual Studio,
donne non pas une adresse qui commence par http://localpath, mais une
adresse qui commence par C:Documents and Settings, à savoir l'adresse de
la source. Dans quels cas est-ce utile ?


string strURL = Request.Url.AbsoluteUri;
this.HyperLink2.NavigateUrl > strURL.Substring(0, strURL.Length -
Request.Url.LocalPath.Length)
+ this.ResolveUrl("~/AR.aspx");


Avatar
Gloops
Gilles TOURREAU a écrit, le 12/09/2009 11:37 :
Bonjour,

En ASP .NET, préférez l'utilisation des URL "virtuel" (commençant par
"~/"). Utilisez la classe VirtualPathUtility afin de convertir cette UR L
virtuelle en URL "réelle", ou "this.ResolveUrl()".



En fait, c'est par là que j'ai commencé (voir la dernière ligne de
l'exemple donné).

J'ai bien vu le VirtualPathUtility, qui peut être bien commode pour
extraire une partie du chemin, mais j'ai bien l'impression que la
question était de savoir quoi lui fournir en argument.


Server.MapPath() permet de convertir "un emplacement URL" en un
emplacement "physique" sur le serveur. On utilise cette méthode lorsq ue
l'on souhaite gérer un fichier (via System.IO).




Ah, oui, j'ai bien l'impression qu'il m'en restait un souvenir
"mal-t-à-propos" :)

Merci pour ces éclairages.