答案 0 :(得分:7)
@Url.Content("~/")
可以实现您所需要的,这将映射"〜"到您的虚拟应用程序根路径。
看一下source code,似乎是使用HttpContext.Request.PathBase
属性:
public virtual string Content(string contentPath)
{
if (string.IsNullOrEmpty(contentPath))
{
return null;
}
else if (contentPath[0] == '~')
{
var segment = new PathString(contentPath.Substring(1));
var applicationPath = HttpContext.Request.PathBase;
return applicationPath.Add(segment).Value;
}
return contentPath;
}
答案 1 :(得分:1)
我在MVC Core RC2中使用以下内容:
而不是"~/something"
我使用
Context.Request.PathBase +" / something"
或更简单地说,只需使用"/something"
,这意味着使用斜杠启动路径会告诉asp核心从根目录开始。