我有一个基于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>
答案 0 :(得分:1)
您可能在某处有SiteMap DataSource - 将“ShowStartingNode”属性更改为false。
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/>
答案 1 :(得分:0)
根据您创建菜单的方式,您是否有一个“虚拟”根节点,以及此下面的顶级项目,并从这些项目中呈现菜单,实际上忽略了根节点?
答案 2 :(得分:0)
我遇到过类似的问题。我使用的分辨率取决于您绑定到 SiteMapDataSource 的控件:
选项A:您正在使用asp.net菜单,在菜单属性中设置&#39; StaticDisplayLevels =&#34; 2&#34;`。
选项B:如果您使用嵌套的 Repeaters 或绑定到 SiteMapDataSource 的其他控件,则将ShowStartingNode="false"
设置为接受的答案显示并根据您希望它显示的菜单的其余部分手动编写根页面。