65 votes

Quelle est la différence entre ResolveUrl et ResolveClientUrl?

J'utilise ResolveUrl pour l'ajout de CSS et de Javascript dans les fichiers ASP.NET.

Mais je vois généralement une option de ResolveClientUrl. Quelle est la différence entre les deux?

Quand devrais-je utiliser ResolveClientUrl?

72voto

Brandon Points 35624

ResolveUrl crée l'URL relative à la racine.

ResolveClientUrl crée l'URL relative à la page en cours.

Vous pouvez également utiliser celui que vous voulez, mais ResolveUrl est plus couramment utilisé.

40voto

LDawggie Points 31

Voici un exemple simple:

 //Returns: ../HomePage.aspx
String ClientURL = ResolveClientUrl("~/HomePage.aspx");

//Returns: /HomePage.aspx
String RegURL = ResolveUrl("~/HomePage.aspx");

//Returns: C:\inetpub\wwwroot\MyProject\HomePage.aspx
String ServerMappedPath = Server.MapPath("~/HomePage.aspx");

//Returns: ~/HomePage.aspx
String appRelVirtPath = AppRelativeVirtualPath;

//Returns: http://localhost:4913/
String baseUrl = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath;

//Returns: "http://localhost:4913/HomePage.aspx"
String absUri = Request.Url.AbsoluteUri;
 

J'espère que cela t'aides!

13voto

Juri Points 14330

Selon la documentation MSDN:

ResolveClientUrl

Une URL complète à l' de ressources adapté pour une utilisation sur le le navigateur.

L'utilisation de la méthode pour ResolveClientUrl de retour d'une chaîne URL adapté pour une utilisation par le client pour accéder à des ressources sur le serveur Web, tels que des fichiers image, des liens vers des pages supplémentaires, et ainsi de suite.

ResolveUrl

L'URL converti.

Si le relativeUrl paramètre contient une URL absolue, l'URL est retourné à l'identique. Si le relativeUrl paramètre contient une URL relative, que l'URL est modifiée vers une URL relative qui est correct pour la requête en cours de chemin, de sorte que le navigateur peut résoudre l'URL.

Par exemple, considérez les points suivants scénario:

Un client a demandé un ASP.NET page qui contient un contrôle utilisateur qui a une image qui lui est associée.

L'ASP.NET la page est situé à /Store/page1.aspx.

Le contrôle de l'utilisateur est situé à /Store/UserControls/UC1.ascx.

Le fichier image est situé à /UserControls/Images/Image1.jpg.

Si l'utilisateur le contrôle passe à l' chemin relatif vers l'image (qui est, /Store/UserControls/Images/Image1.jpg) à la ResolveUrl méthode, la méthode retourne la valeur /Images/Image1.jpg.

Je pense que ceci explique cela très bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X