我尝试了下面的剃刀代码:
@room.Media("summaryImage","umbracoFile")
Run Code Online (Sandbox Code Playgroud)
但我得到的东西~/media/155/lux.jpg,如何删除初始~获取服务器路径,/media/155/lux.jpg或http://some_url/media/155/lux.jpg?
编辑:
我试过了
@{
dynamic summaryImagePath = room.Media("summaryImage","umbracoFile");
}
@Page.ResolveUrl(@summaryImagePath)
Run Code Online (Sandbox Code Playgroud)
和
@Page.ResolveUrl(@room.Media("summaryImage","umbracoFile"))
Run Code Online (Sandbox Code Playgroud)
但我一直收到错误:
Error loading Razor Script Cannot perform runtime binding on a null reference
Run Code Online (Sandbox Code Playgroud)
尽管@room.Media("summaryImage","umbracoFile")给了~/media/155/lux.jpg.
有任何想法吗?
我不确定Umbraco中是否有解决方案,我只是使用.NET框架.使用ASP.NET,您可以使用MapPath解析到物理文件路径的虚拟路径:
@HttpContext.Current.Server.MapPath(room.Media("summaryImage","umbracoFile"))
Run Code Online (Sandbox Code Playgroud)
编辑:
如果您要查找绝对URL,可以使用以下变体之一:
@Page.ResolveUrl(room.Media("summaryImage","umbracoFile"))
Run Code Online (Sandbox Code Playgroud)
要么
@VirtualPathUtility.ToAbsolute(room.Media("summaryImage","umbracoFile"))
Run Code Online (Sandbox Code Playgroud)
您可能希望阅读有关解析URL的不同方法的文章.
| 归档时间: |
|
| 查看次数: |
10807 次 |
| 最近记录: |