Как настроить несколько файлов Sitemap с помощью меню управления asp: - PullRequest
1 голос
/ 28 февраля 2012

Это сводит меня с ума.Я искал и пробовал, искал и пробовал ... теперь я прошу вашей помощи!

У меня есть элемент управления 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 framework) я получаю следующую ошибку после входа в систему:

Ошибка сервера в «/» приложении.SiteMapProvider 'MemberSitemap' не может быть найден.

Что я делаю не так?Спасибо .... Боб

1 Ответ

0 голосов
/ 29 февраля 2012

Дух, у провайдеров сайта siteMap неправильный раздел web.config.Я не рекомендую web.config для лишения сна.

...