Asp.NET MVC SiteMaps

时间:2015-09-28 14:35:37

标签: asp.net-mvc sitemap

你好我试图将多个地图添加到项目中,在web配置中我这样写:

// popup ready to fire
$( document ).ready(function() {
    $('#popupDetails').popup('open');
});

之后我尝试在View中使用它,如下所示:

 <siteMap defaultProvider="FullSiteMap">
  <providers>
    <clear />
    <add name="FullSiteMap" type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider" siteMapFile="~/SiteMaps/Full.Sitemap" attributesToIgnore="visibility" />
    <add name="NonPrivateCoaching" type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider" siteMapFile="~/SiteMaps/NonPrivateCoaching.Sitemap" attributesToIgnore="visibility" />
  </providers>
</siteMap>

始终使用defaultProvider而不是第二个。这有什么不对?

2 个答案:

答案 0 :(得分:0)

您没有选择提供商:

@if(true)
{
     @Html.MvcSiteMap("FullSiteMap").Menu("BootstrapMenuHelperModel")
}
else
{
     @Html.MvcSiteMap("NonPrivateCoaching").Menu("BootstrapMenuHelperModelNobPrivateCoaching")
}

Using Multiple MvcSiteMaps

答案 1 :(得分:0)

你是什么意思总是使用defaultProvider?你的if / else语句没有任何意义吗?您必须定义要使用的站点地图提供程序。你不会在这里这样做,所以它总是需要默认的提供者。

将您的代码更改为以下内容:

@Html.MvcSiteMap("YOURPROVIDEROFCHOICE").Menu()