我可以跳过 ASP.NET 菜单控件中的节点吗?
我有一个像这样的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用的是 SiteMapsDataSource,则可以通过将 ShowStartingNode 属性设置为 false 来跳过根节点。
If you are using a SiteMapsDataSource you can skip the root node by setting the ShowStartingNode property to false.
如果您尚未使用
SiteMapDataSource
来填充Menu
,则可以执行此操作并将其ShowStartingNode
属性设置为false< /code> (并且,如上面注释中所述,将
StaticDisplayLevels
减 1,因为您要删除一个级别),如下所示:当然,这仅适用于根节点。 要跳过其他节点或整个节点级别,有必要在填充
Menu
之前修改源 Xml(例如,使用某些 xslt 来去除一类节点)。If you aren't already using a
SiteMapDataSource
to populate theMenu
, you can do that and set itsShowStartingNode
property tofalse
(and, as noted in the comment above, decrement theStaticDisplayLevels
by 1, since you're removing a level) like this: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).