【发布时间】:2012-03-17 19:48:08
【问题描述】:
这让我发疯了。我已经搜索并尝试了搜索并尝试了......现在我请求您的帮助!
我有一个使用站点地图的 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'。
我做错了什么?谢谢....鲍勃
【问题讨论】:
标签: web-config sitemap sitemapprovider aspmenu