0

我有一个基于 Web.Sitemap 的 ASP.NET 菜单控件。Web.Sitemap 不允许我在其根目录中拥有多个项目。但我需要我的菜单在其根目录中显示不止一项。是否可以?

我的站点地图是这样的:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode url="" title="Menu"  description="">
    <siteMapNode url="~/Default.aspx" title="Public"  description=""/>
    <siteMapNode url="" title="Administration"  description="">
      <siteMapNode url="~/GeneralSettings.aspx" title="GeneralSettings"  description=""/>
      <siteMapNode url="~/LookupManagement.aspx" title="Lookup"  description=""/>
      <siteMapNode url="~/Administration.aspx" title="Database"  description=""/>
    </siteMapNode>
    <siteMapNode url="~/AboutUs.aspx" title="Contact us"  description="" />
  </siteMapNode>
</siteMap>
4

3 回答 3

1

您可能在某处有一个 SiteMap DataSource - 将“ShowStartingNode”属性更改为 false。

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/>
于 2010-06-21T12:23:07.483 回答
0

根据您创建菜单的方式,您是否可以有一个“虚拟”根节点,以及您在其下方的顶级项目,并从中呈现菜单,有效地忽略根节点?

于 2010-06-21T09:39:11.007 回答
0

我有一个类似的问题。我使用的分辨率取决于您绑定到SiteMapDataSource的控件:

  • 选项 A:您正在使用 asp.net 菜单,在菜单属性中设置“StaticDisplayLevels="2"`。

  • 选项 B:如果您使用嵌套的Repeaters或绑定到SiteMapDataSource的其他控件,则设置ShowStartingNode="false"为接受的答案显示并手动编码根页面,无论您希望它出现在与菜单的其余部分相关的任何位置。

于 2015-05-14T17:51:10.393 回答