代码之家  ›  专栏  ›  技术社区  ›  Afshar Mohebi

在ASP.NET web.sitemap中是否可以有多个项目?

  •  0
  • Afshar Mohebi  · 技术社区  · 14 年前

    我有一个基于Web.Sitemap的ASP.NET菜单控件。网站地图不允许在其根目录中有多个项目。但我需要我的菜单在其根目录中显示多个项目。有可能吗?

    我的网站地图是这样的:

    <?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>
    
    3 回复  |  直到 14 年前
        1
  •  1
  •   Damien Dennehy    14 年前

    您可能在某个地方有一个站点地图数据源-将“ShowStartingNode”属性更改为false。

    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/>
    
        2
  •  0
  •   harriyott Erik Funkenbusch    14 年前

    根据您创建菜单的方式,您是否可以拥有一个“虚拟”根节点,以及它下面的顶级项,并从这些节点渲染菜单,从而有效地忽略根节点?

        3
  •  0
  •   user4864716 user4864716    9 年前

    我也遇到过类似的问题。我使用的分辨率取决于您绑定到的控件 SiteMapDataSource网站 :

    • 选项A:如果您使用的是asp.net菜单,请在“菜单属性”中设置“StaticDisplayLevels=”2“`。

    • 选项B:如果使用嵌套 ,或绑定到 SiteMapDataSource网站 ,然后设置 ShowStartingNode="false" 当接受的答案显示并手动编码根页面时,只要您希望它相对于菜单的其余部分出现。