Sharepoint母版页中的相对URL

时间:2009-10-28 00:11:28

标签: sharepoint wss relative-path

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

<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>

问题是,在我的子网站上,点击一个标签会让我回到根目录。例如,我希望计划链接转到http://Server/Subsite/Pages/Tab2.aspx。相反,我得到的是http://Server/Pages/Tab2.aspx。我读到在链接开头有一个波形符号可以解决这个问题,但事实并非如此。

3 个答案:

答案 0 :(得分:12)

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

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

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

<a href='<SharePoint:ProjectProperty Property="Url" runat="server"/>/pages/Tab2.aspx'>

希望它有所帮助!有关ProjectProperty的其他可能值的列表,请查看this guy's page(这是我找到原始答案的位置!)

答案 1 :(得分:9)

我正在寻找答案,这样做很长一段时间......我想将我的网站打包成一个网站模板,绝对的网址不是一个选项...我需要他们相对于任何一个站点URL是......无论是在MOSS的根目录还是在结构深处的子站点......

我找到了以下工作:

脚本标签:

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

样式表(上面由user385947建议的方法):

<link rel="stylesheet" type="text/css" 
       href="<% $SPUrl:~Site/appBin/css/jquery-ui.css %>" />

希望这有助于其他人......

答案 2 :(得分:2)