Как сделать меню на основе карты сайта в asp.net только с элементами верхнего уровня?

StackOverflow https://stackoverflow.com/questions/1030236

  •  06-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь создать меню на основе карты сайта asp.net. Как вы вкладываете узлы карты сайта, чтобы все они отображались на одном уровне. Вот что у меня есть:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode>

    <siteMapNode url="~/Default.aspx" title="Home"  description="link to Home" />
    <siteMapNode url="~/about.aspx" title="About"  description="abot" />

 </siteMapNode>

</siteMap>

Вот как выглядит код элемента управления Menu:

<asp:Menu ID="Menu1" runat="server" BackColor="#E3EAEB" 
        DataSourceID="SiteMapDataSource1" 
    </asp:Menu>

Они оба отображаются как элементы 2-го уровня под стрелкой. Извините за вопрос новичка, но я никогда не использовал управление меню раньше.

Это было полезно?

Решение

Вам просто нужно установить StaticDisplayLevels и иметь только один уровень в файле карты сайта.

<asp:Menu runat="server" DataSourceID="SiteMapDataSource" StaticDisplayLevels="2" >
</asp:Menu>

Пример карты web.site:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode>
        <siteMapNode url="Default.aspx" title="Home"  description="" />
        <siteMapNode url="Page2.aspx" title="Page2"  description="" />
    </siteMapNode>
</siteMap>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top