2009-08-31 12 views
1

私は一般公開サイトで作業しています。私はMasterPageで静的ナビゲーションを提供する必要があります。私はそれを私のサイト構造に結びつけたくない。これは頻繁には編集されません。標準のASP.Netナビゲーションコントロール<asp:Menu/><asp:SiteMapDataSource/>を使用したいと思います。ルートに* .sitemapファイルがあると仮定しています。従来のASP.NETでは、私は私のNAV」Sharepointでナビゲーション用の* .sitemapファイルを使用する方法はありますか?

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

私はあなたが別の場所に*の.sitemapファイルを指すことができることを理解をレンダリングするために、次の.aspxので終わると思います。私は、ポイントしたいのですが

このコードをsharepointに移行するために、私は* .sitemapファイルをサイトのルートにプロビジョニングしました/ SPDesignerを介して/ Pagesで(後で機能に移動されます)、親としてサイトコレクション名(PU)へのリンクを持ち、子としてweb.sitemapへのリンクを持つASPメニューが表示されます。 :

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

また、私は<SharePoint:AspMenu/>を使ってみましたが、私は同じ動作をします。

私は間違った木を吠えますか?コンテンツデータベースを使用するSharePoint内のすべてのリダイレクトは、* .sitemapファイルをナビゲーションに使用できなくしますか?

私はまた、ナビゲーション用に普通の古いxmlファイルを使用しています。事前に

おかげで、 ピーター

答えて

4

あなたは組み込みのASP.NET XmlSiteMapProviderは、SharePointコンテンツデータベースに格納されている.sitemapファイルでは動作しないという推測に正しいです。私はXmlSiteMapProviderのサブクラス化を提案し、どのようにsiteMapFileパスをBuildSiteMapが処理して、SharePointから地図データを取得するかを上書きすることをお勧めします。開始するには、組み込みプロバイダーのソースをProviderToolkitSamples.msiから入手できます。

関連する問題