2012-02-28 13 views
1

それは私をナットにしています。私は検索して試してみて、試してみた...今あなたの助けを求める!aspを使って複数のサイトマップを設定する方法:メニューコントロール

サイトマップを使用するasp:メニューコントロールがあります。ユーザーが認証されると、サイトマップをコードの背後から動的に変更したい(C#)。

Site.Master: 

<asp:Menu ID="aspMenu" runat="server" StaticDisplayLevels="1" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" StaticEnableDefaultPopOutImage="False"> 

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False" 
StartFromCurrentNode="False" StartingNodeOffset="0" /> 

web.config: 

    <siteMap defaultProvider="WebSitemap" > 
    <providers> 
     <add name="WebSitemap" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap"/> 
     <add name="MemberSiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="Member.sitemap"/> 
    </providers> 
    </siteMap> 

Site.Master.cs: 

    protected override void OnPreRender(System.EventArgs e) 
    { 
     if (Request.IsAuthenticated) 
     { 
      SiteMapDataSource1.SiteMapProvider = "MemberSitemap"; 

     } 
    } 

ビルドが成功した後(VS 2010、4.0フレームワーク)私は、ログイン後に次のエラーを取得する:「/」アプリケーションで

サーバーエラーここでは、コードの該当行をです。 SiteMapProvider 'MemberSitemap'が見つかりません。

私は間違っていますか?ありがとう.... Bob

答えて

0

Duhはweb.configの間違ったセクションにsiteMapプロバイダを持っていました。私は睡眠不足のためにweb.configを推奨しません。

関連する問題