Asp.NET MVC 站点地图
Asp.NET MVC SiteMaps
您好所以我正在尝试将多个地图添加到项目中,在网络配置中我是这样写的:
<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>
之后我尝试在视图中使用它,如下所示:
@if(true)
{
@Html.MvcSiteMap().Menu("BootstrapMenuHelperModel")
}
else
{
@Html.MvcSiteMap().Menu("BootstrapMenuHelperModelNobPrivateCoaching")
}
它总是使用 defaultProvider 而不是第二个。这里有什么问题?
您没有选择提供商:
@if(true)
{
@Html.MvcSiteMap("FullSiteMap").Menu("BootstrapMenuHelperModel")
}
else
{
@Html.MvcSiteMap("NonPrivateCoaching").Menu("BootstrapMenuHelperModelNobPrivateCoaching")
}
Using Multiple MvcSiteMaps
老是用defaultProvider是什么意思?您的 if/else 声明没有任何意义?您必须定义要使用的站点地图提供程序。您不会在此处执行此操作,因此它将始终采用默认提供程序。
将您的代码更改为如下内容:
@Html.MvcSiteMap("YOURPROVIDEROFCHOICE").Menu()
您好所以我正在尝试将多个地图添加到项目中,在网络配置中我是这样写的:
<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>
之后我尝试在视图中使用它,如下所示:
@if(true)
{
@Html.MvcSiteMap().Menu("BootstrapMenuHelperModel")
}
else
{
@Html.MvcSiteMap().Menu("BootstrapMenuHelperModelNobPrivateCoaching")
}
它总是使用 defaultProvider 而不是第二个。这里有什么问题?
您没有选择提供商:
@if(true)
{
@Html.MvcSiteMap("FullSiteMap").Menu("BootstrapMenuHelperModel")
}
else
{
@Html.MvcSiteMap("NonPrivateCoaching").Menu("BootstrapMenuHelperModelNobPrivateCoaching")
}
Using Multiple MvcSiteMaps
老是用defaultProvider是什么意思?您的 if/else 声明没有任何意义?您必须定义要使用的站点地图提供程序。您不会在此处执行此操作,因此它将始终采用默认提供程序。
将您的代码更改为如下内容:
@Html.MvcSiteMap("YOURPROVIDEROFCHOICE").Menu()