Как настроить несколько файлов Sitemap с помощью меню управления 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 framework) после входа в систему появляется следующая ошибка:
Ошибка сервера в приложении '/' SiteMapProvider 'MemberSitemap' не может быть найден.
Что я делаю неправильно? Спасибо.... боб
1 ответ
Решение
Да, у провайдеров SiteMap был неправильный раздел web.config. Я не рекомендую web.config для лишения сна.