我可以跳过 ASP.NET 菜单控件中的节点吗?

发布于 2024-07-14 11:45:01 字数 819 浏览 11 评论 0原文

我有一个像这样的 web.sitemap:

<siteMapNode url="~/Default.aspx" title="Home" description="" >
    <siteMapNode title="Node 1" description="">
        <siteMapNode url="" title="Node 1-1" description="" />
        <siteMapNode url="" title="Node 1-2" description="" />
    </siteMapNode>
    <siteMapNode title="Node 2" description="">
        <siteMapNode url="" title="Node 2-1" description="" />
        <siteMapNode url="" title="Node 2-2" description="" />
    </siteMapNode>
</siteMapNode>

如果我使用 ASP.NET 菜单控件(StaticDisplayLevels=2),我会得到以下结果:

| 首页 | 节点 1 | 节点 2 |

是否有一个属性可以跳过“主页”并获取此菜单(从该站点地图):

| 节点 1 | 节点 2 |

I have a web.sitemap like this:

<siteMapNode url="~/Default.aspx" title="Home" description="" >
    <siteMapNode title="Node 1" description="">
        <siteMapNode url="" title="Node 1-1" description="" />
        <siteMapNode url="" title="Node 1-2" description="" />
    </siteMapNode>
    <siteMapNode title="Node 2" description="">
        <siteMapNode url="" title="Node 2-1" description="" />
        <siteMapNode url="" title="Node 2-2" description="" />
    </siteMapNode>
</siteMapNode>

If I use an ASP.NET menu control (with StaticDisplayLevels=2), I get this:

| Home | Node 1 | Node 2 |

Is there a property for skipping "Home" and get this menu (from that sitemap):

| Node 1 | Node 2 |

?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

愛放△進行李 2024-07-21 11:45:01

如果您使用的是 SiteMapsDataSource,则可以通过将 ShowStartingNode 属性设置为 false 来跳过根节点。

If you are using a SiteMapsDataSource you can skip the root node by setting the ShowStartingNode property to false.

〆凄凉。 2024-07-21 11:45:01

如果您尚未使用 SiteMapDataSource 来填充 Menu,则可以执行此操作并将其 ShowStartingNode 属性设置为 false< /code> (并且,如上面注释中所述,将 StaticDisplayLevels 减 1,因为您要删除一个级别),如下所示:

<asp:SiteMapDataSource ID="MenuSource" runat="server" ShowStartingNode="false" />

当然,这仅适用于根节点。 要跳过其他节点或整个节点级别,有必要在填充 Menu 之前修改源 Xml(例如,使用某些 xslt 来去除一类节点)。

If you aren't already using a SiteMapDataSource to populate the Menu, you can do that and set its ShowStartingNode property to false (and, as noted in the comment above, decrement the StaticDisplayLevels by 1, since you're removing a level) like this:

<asp:SiteMapDataSource ID="MenuSource" runat="server" ShowStartingNode="false" />

Of course, this only works for the root node. To skip other nodes or entire levels of nodes, it would be necessary to massage the source Xml before populating the Menu (for example, use some xslt to strip out a class of nodes).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文