2009-08-22 3 views
2

J'ai une bibliothèque d'aide html que je fais et un de mes plugins a besoin d'urls pour être passé. Je ne veux pas passer dans l'url complète puisqu'ils chaque fois que je change quelque chose autour je dois aller et fixer toutes les urls.Comment obtenir l'URL complète à partir d'une classe Helt Html que j'ai faite?

Comment puis-je obtenir un chemin d'accès URL complet dans mon fichier? Comme si je passais dans un chemin relatif ou quelque chose, il est résolu à un chemin complet.

Répondre

1

VirtualPathUtility pourrait être un endroit pour regarder. Par exemple en utilisant

VirtualPathUtility.ToAbsolute(src); 

rendra des chemins comme « ~/App/test.jpg » à une position absolue par exemple de « /VirtualDirectory/App/test.jpg », ainsi que des chemins relatifs. Les méthodes exposées sur une instance de la classe UrlHelper (par exemple Content) peuvent également être utiles.

0

Vous pouvez utiliser HttpContext.Current.Server.MapPath (string)

+0

HttpCurrent ne montre pas pour moi. J'ai l'espace de noms System.Web dans mon fichier. – chobo2

+1

Ah c'est "HttpContext.Current.Server.MapPath" – chobo2

+0

Désolé, je suppose que je devrais avoir mentionné cette URL est utilisée pour une image que je veux afficher. Cela obtient le chemin entier, mais il l'obtient sur mon disque dur, donc il semble ne pas afficher. – chobo2

1

Pour les futurs visiteurs à ce sujet que j'utilise le code suivant fréquemment

var baseUrl = HttpContext.Current.Request.Url.AbsoluteUri; 
if (HttpContext.Current.Request.Url.LocalPath != "/") 
    baseUrl = baseUrl.Replace(HttpContext.Current.Request.Url.LocalPath.Substring(1), ""); 
Questions connexes