2008-12-09 9 views
32

J'ai un chemin virtuel (exemple: "~/Images/Banner.jpg") et je veux en faire un chemin web absolu (exemple: "/ ApplicationRoot/Images /Banner.jpg "). Il y a une méthode qui fera cela, je crois en une classe appelée quelque chose comme HTTPUtility ou un nom similaire. Bien que chaque fois que j'ai besoin de cette méthode, cela me prend des heures à la chercher. Il serait grandement apprécié si quelqu'un pouvait poster la bonne méthode pour le faire afin que je puisse le préférer pour un accès facile à l'avenir.convertir le chemin virtuel en chemin Web réel dans ASP.NET

Merci beaucoup.

+0

@JoelBeckham Vous avez raison. J'ai mal compris la question. –

Répondre

59
System.Web.VirtualPathUtility.ToAbsolute("yourRelativePath"); 

Il vous allez :)

+0

J'ai effectivement eu le même problème jusqu'à ce que j'ai fait ma propre classe PathHelper pour le framework mvc asp.net: p –

+0

Hehe, encore un autre endroit pour le faire! Je suppose qu'ils finissent tous au même endroit. – leppie

+0

Je l'espère bien: P –

5
Control.ResolveClientUrl(url) 

ou

Control.ResolveUrl(url) 

Quel que soit votre besoin (honnêtement, je ne sais pas la différence, car les deux semblent revenir la plupart du temps la même chose, peut-être quelqu'un peut m'éclairer :)).

+0

Comment faites-vous de votre première ligne une ligne "code"? Dans l'aperçu il regarde tous les biscuits et le lait, mais quand je soumets il devient une ligne non formatée encore: s –

+0

Double breakline, l'a trouvé –

+0

Je n'ai pas eu ce problème. En utilisant FF. – leppie

13

Il existe différentes façons qui sont disponibles dans ASP.NET que nous pouvons utiliser pour résoudre des chemins relatifs à urls absolus -

1) Request.ApplicationPath
2) System.Web.VirtualPathUtility
3) Page .ResolveUrl
4) Page.ResolveClientUrl

Voici un article qui explique la différence entre les différentes façons de résoudre les chemins dans ASP.NET -

Different approaches for resolving URLs in ASP.NET

+0

Um. Je ne pense pas que ** soit ** un 'Page.ResolveClientUrl'. La méthode existe dans 'Control' apparemment: https://msdn.microsoft.com/en-us/library/system.web.ui.control.resolveclienturl(v=vs.90).aspx – ebyrob

Questions connexes