Question

Il me conduit noix.J'ai cherché et essayé et cherché et essayé ... Maintenant, je vous demande votre aide!

J'ai une ASP: contrôle du menu qui utilise un planite.Une fois que l'utilisateur est authentifié, je souhaite modifier de manière dynamique la carte du site du code derrière (C #).Voici les lignes de code pertinentes:

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

        }
    }

Après une construction réussie (Framework vs 2010, 4.0), j'obtiens l'erreur suivante après une connexion:

Erreur de serveur dans '/' Application. Le SitemApprovider 'Menditemap' est introuvable.

Qu'est-ce que je fais mal?Merci .... Bob

Était-ce utile?

La solution

DUH, avait les fournisseurs de plan du site dans la mauvaise section de web.config.Je ne recommande pas web.config sur la privation de sommeil.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top