在ASP.NET中创建自定义URL令牌(la MOSS)

Rex*_*x M 1 asp.net sharepoint moss

在ASP.NET中,波形符(〜)被视为URL中的标记,并将以前缀为前缀的路径视为相对于应用程序根目录.这是众所周知的功能.

在MOSS中,还有其他标记,例如~sitecollection/mypath ...,它们以类似的方式运行,但将路径视为相对于网站集根目录.这是如何完成的?粗略搜索后,我找不到任何关于如何将这样的标记添加到.NET URL解析机制的信息.

dah*_*byk 5

它可能不是唯一的地方,但SPUtility.GetServerRelativeUrlFromPrefixedUrl()将使用~site和~sitecollection解析URL.MOSS还提供SPUrlExpressionBuilder用于声明性使用:

<link runat="server" rel="stylesheet" type="text/css"
      href="<% $SPUrl:~SiteCollection/Style Library/MyStyles/style.css %>" />
Run Code Online (Sandbox Code Playgroud)