2009-08-31 77 views
1

我正在开发一个面向公众的发布网站。我需要在MasterPage中提供静态导航。我不希望它绑定到我的网站结构。这不会经常编辑。我想要使​​用标准的ASP.Net导航控件<asp:Menu/><asp:SiteMapDataSource/>,它假设您在根目录中有一个* .sitemap文件。在传统的ASP.NET,我想最终下面的.aspx渲染我的导航”有没有什么办法在Sharepoint中使用* .sitemap文件进行导航?

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server"/> 
    <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" /> 

我明白,你可以点你的* .sitemap文件到不同的位置。我想点它移动到列表中的另一个文件,以便用户可以根据需要编辑* .sitemap文件。

为了将此代码转换为sharepoint,我在网站的根目录下配置了* .sitemap文件并在/通过SPDesigner页面(稍后将被移入一个功能),但我最终得到一个ASP菜单链接到网站集名称(PU)作为父母和web.sitemap作为一个孩子。 :

alt text http://employees.claritycon.com/pwalke/blogs/nav.png

我也试过使用<SharePoint:AspMenu/>,但我得到了相同的行为。

我吠叫错了树吗? SharePoint中的所有内容数据库重定向都阻止我使用* .sitemap文件进行导航吗?

我也打开使用普通的旧XML文件进行导航。

由于提前, 彼得

回答

4

您在猜测内置ASP.NET XmlSiteMapProvider不会存储在SharePoint内容数据库.sitemap文件的工作是正确的。我建议继承XmlSiteMapProvider,并覆盖BuildSiteMap如何处理给定的siteMapFile路径,以便从SharePoint获取地图数据。为了让你开始,内置提供商的来源可在这里:ProviderToolkitSamples.msi

相关问题