1

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

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

目前我正在使用从示例中提取的 visibility="SiteMapPathHelper,!*" 并且我假设最新的 nuget 包和我的 web.config 设置为

attributesToIgnore="可见性"

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

4

1 回答 1

2

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

所以,如果你有这个:

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

站点地图将使用

/admin/user/index?someRandomAttribute=3 用于 url。

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

/管理员/用户/索引

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

于 2012-12-09T18:47:38.597 回答