Wie bekomme ich das absolute Medien-Datei-Pfad in umbraco mit razor?
Ich habe versucht, die folgenden wenig von razor-code:
@room.Media("summaryImage","umbracoFile")
aber ich bekomme so etwas wie ~/media/155/lux.jpg
, wie Entferne ich die ersten ~
um einen server-Pfad ie, /media/155/lux.jpg
oder http://some_url/media/155/lux.jpg
?
EDIT:
Habe ich versucht,
@{
dynamic summaryImagePath = room.Media("summaryImage","umbracoFile");
}
@Page.ResolveUrl(@summaryImagePath)
und
@Page.ResolveUrl(@room.Media("summaryImage","umbracoFile"))
aber ich erhalte die Fehlermeldung:
Error loading Razor Script Cannot perform runtime binding on a null reference
obwohl @room.Media("summaryImage","umbracoFile")
gibt ~/media/155/lux.jpg
.
Irgendwelche Ideen?
InformationsquelleAutor zlog | 2011-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, ob es eine Lösung innerhalb von Umbraco ist, würde ich nur verwenden .NET-framework. Mit ASP.NET Sie können MapPath zu beheben virtuellen Pfade zu den physischen Dateipfaden:
EDIT:
Wenn Sie auf der Suche nach dem absoluten URL, die Sie verwenden möglicherweise eine der folgenden Varianten:
oder
Können Sie möchten, um diese zu Lesen Artikel über verschiedene Ansätze für die Auflösung von URLs.
Ich aktualisiert meine Antwort entsprechend.
Seite.ResolveUrl gab mir eine null-Verweis-Fehler, aber VirtualPathUtility.ToAbsolute arbeitete wie ein Charme!
Vielleicht ist es, weil razor-Skripts nicht über eine Seite Kontext gemäß: refactoringaspnet.blogspot.com/2009/09/...
InformationsquelleAutor marapet