2009-08-22 7 views
2

Ich habe eine HTML-Hilfsbibliothek, die ich mache, und eines meiner Plugins benötigt URLs, um weitergegeben zu werden. Ich möchte nicht die volle URL übergeben, da sie jedes Mal, wenn ich etwas ändere, ich gehe und beheben muss alle URLs hoch.Wie bekomme ich die volle URL von einer Html Helper-Klasse, die ich gemacht habe?

Wie kann ich einen vollständigen URL-Pfad in meiner Datei erhalten? Wie wenn ich einen relativen Pfad oder etwas übergebe, wird es auf einen vollständigen Pfad aufgelöst.

Antwort

1

VirtualPathUtility könnte ein Ort zu suchen sein. Zum Beispiel

VirtualPathUtility.ToAbsolute(src); 

Verwendung rendert Pfade wie „~/App/test.jpg“ zu einem absoluten Ort z.B „/VirtualDirectory/App/test.jpg“ sowie relative Pfade. Die Methoden, die in einer Instanz der Klasse UrlHelper (z. B. Content) verfügbar gemacht werden, können ebenfalls hilfreich sein.

0

können Sie verwenden HttpContext.Current.Server.MapPath (string)

+0

HttpCurrent nicht für mich zeigen. Ich habe den System.Web-Namespace in meiner Datei. – chobo2

+1

Ah ist es "HttpContext.Current.Server.MapPath" – chobo2

+0

Sorry, ich denke, ich hätte diese URL erwähnt, die für ein Bild verwendet wird, das ich anzeigen möchte. Das bekommt den ganzen Pfad aber es bringt es auf meine Festplatte so das es anscheinend nicht angezeigt wird. – chobo2

1

Für zukünftige Besucher auf diesen Thread ich den folgenden Code verwenden häufig

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