在ASP.NET中,波形符(〜)被视为URL中的标记,并将以前缀为前缀的路径视为相对于应用程序根目录.这是众所周知的功能.
在MOSS中,还有其他标记,例如~sitecollection/mypath ...,它们以类似的方式运行,但将路径视为相对于网站集根目录.这是如何完成的?粗略搜索后,我找不到任何关于如何将这样的标记添加到.NET URL解析机制的信息.
它可能不是唯一的地方,但SPUtility.GetServerRelativeUrlFromPrefixedUrl()将使用~site和~sitecollection解析URL.MOSS还提供SPUrlExpressionBuilder用于声明性使用: