1

それは私を狂わせています。私は検索して試しましたそして検索して試しました...今私はあなたの助けを求めます!

サイトマップを使用するasp:menuコントロールがあります。ユーザーが認証されたら、サイトマップをコードビハインド(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'が見つかりません。

私は何が間違っているのですか?ありがとう....ボブ

4

1 に答える 1

0

ええと、web.configの間違ったセクションにsiteMapプロバイダーがありました。睡眠不足のweb.configはお勧めしません。

于 2012-02-29T06:20:13.673 に答える