Sharepoint母版页中的相对URL

Sharepoint母版页中的相对URL,sharepoint,wss,relative-path,Sharepoint,Wss,Relative Path,我有一个带有选项卡的母版页。这些选项卡由以下站点地图文件定义: <siteMap> <siteMapNode title="Home" url="~/" > <siteMapNode title="Schedule" url="~/Pages/Tab2.aspx"/> <siteMapNode title="Deliverables" url="~/Pages/Tab3.aspx"/>

我有一个带有选项卡的母版页。这些选项卡由以下站点地图文件定义:

<siteMap>
    <siteMapNode title="Home" url="~/" >
        <siteMapNode title="Schedule" url="~/Pages/Tab2.aspx"/>      
        <siteMapNode title="Deliverables" url="~/Pages/Tab3.aspx"/>
        <siteMapNode title="My Items" url="~/Pages/Tab4.aspx"/>
        <siteMapNode title="Management" url="~/Pages/Tab5.aspx"/>
        <siteMapNode title="Working Docs" url="~/Pages/Tab6.aspx"/>
    </siteMapNode>
</siteMap>


问题是,在我的子网站上,单击某个选项卡会一直将我带回根目录。例如,我希望“计划”链接转到。相反,我得到的是。我读到,在链接的开头添加一个波浪号可以解决这个问题,但事实并非如此。

您正在寻找~site令牌,

我花了几个小时寻找这个问题的答案,结果发现有一个,这很烦人。您可以在WSS站点和MOSS站点中使用ProjectProperty标记,ProjectProperty的一个可能参数为您提供子站点的URL

<SharePoint:ProjectProperty Property="Url" runat="server"/>

输出带有子网站URL值的字符串文字。例如,您可以这样做(注意,您需要对实际HTML标记的src=''或href=''属性使用单引号):


(这就是我找到原始答案的地方!)

很长一段时间以来,我一直在寻找解决方法。。。我想把我的网站打包成一个网站模板,拥有绝对的URL不是一个选项。。。我需要他们是相对于什么网站的网址是。。。无论是在苔藓的根部还是在结构的深处的一个子部位

我发现以下方法可行:

脚本标记:

<script type="text/javascript" src='<asp:Literal runat="server" 
               Text="<% $SPUrl:~Site/appBin/js/jquery.min.js %>" />'></script>

样式表(上面由用户385947建议的方法):



希望这能帮助其他人

~z~这个网站不适合我。链接变为。也许这在站点地图文件中不起作用?嗯,我发布的假设是,令牌替换是在一个SharePoint HttpHandler中完成的,这意味着它应该在站点地图中起作用,但是在查看了这篇文章之后:看起来令牌实际上是在其他地方解析的。无论如何,~标记始终相对于web应用根目录,而不是SharePoint中的当前网站/网站集。您可能需要实现自己的站点地图提供程序才能获得真正需要的功能,很抱歉给出了误导性的答案。太好了!对我来说,工作就像是一种魅力。但是有趣的是,对于样式表,它不使用
。对于
s,它是必需的。您能解释一下如何在master.page中实现它吗?(对于ASP.NET 4.5网站?)很抱歉反应太晚。。。在使用Sharepoint时,我将其插入到母版页的部分。。。请注意,在使用sharepoint designer时,它会破坏上面的代码。。。我想这通常发生在你打开文件的时候。。。将其修复为如上所示后,保存时应保持格式不变。
<script type="text/javascript" src='<asp:Literal runat="server" 
               Text="<% $SPUrl:~Site/appBin/js/jquery.min.js %>" />'></script>
<link rel="stylesheet" type="text/css" 
       href="<% $SPUrl:~Site/appBin/css/jquery-ui.css %>" />