使用 MVCSitemap 中的可见性(默认)属性仅在痕迹导航中显示节点



任何使用MVCSiteMapProvider包获得单个xml文件但菜单和面包屑不同的人。

我有MVC.Sitemap,都可以很好地与我的菜单和面包屑配合使用。我为主页 - 产品添加了一个新节点这是产品控制器上的索引操作我不希望它出现在我的菜单中,但我确实希望当有人登陆/myapp/Products/Index 或 Products/Index 时,它出现在我的面包屑中

目前我正在使用从示例中拾取的可见性="SiteMapPathHelper,!*",我假设最新的 nuget 包和我的 web.config 已使用

属性忽略="可见性"

这令人困惑,因为我不明白这是否意味着忽略参数,或者它是否告诉需要忽略的节点填充了此参数并且值应被视为条件。

默认情况下,MvcSiteMapProvider 在菜单 XML 声明中看到的任何属性都将添加到 url 参数中。

所以,如果你有这个:

<mvcSiteMapNode area="Admin" controller="User" action="Index" title="Users" someRandomAttribute=3/>

站点地图将使用

/

admin/user/index?someRandomAttribute=3 作为网址。

如果你在配置中输入 attributesToIgnore="someRandomAttribute",它将生成的 url 将变为:

/

admin/user/index

可见性提供程序是一个插件系统 - 默认使用"可见性"属性,因此它可以决定节点是否可见。

最新更新