Kentico 7:在 MVC VB 中只获取可见的菜单项?

Kentico 7: get only visible menu items in MVC VB?

我需要获取 kentico 7 站点中所有可见的导航菜单项。到目前为止,我有以下内容:

Dim stuff As TreeNodeDataSet = TreeHelper.SelectNodes("/SiteSection/%")

returns 一切(我不需要)。通过 class "CMS.MenuItem" 限制缩小范围但不可用...它仍然 returns 一堆不可见的东西。

有什么建议吗?

您需要使用允许您为 SelectOnlyPublished 值传入 True 并为嵌套级别传入 1 的方法重载。

Dim stuff As TreeNodeDataSet = TreeHelper.SelectNodes("/SiteSection/%",True, "CMS.MenuItem","","nodeorder",1,True)

如果您想排除某些特定文档,您还可以向 "where clause" 添加类似 "DocumentName not in('home','page1','page2')" 的内容。