2009-06-23 4 views
2

asp.net 사이트 맵을 기반으로 메뉴를 만들려고합니다. 그것들이 모두 같은 레벨에 나타나도록 사이트 맵 노드를 어떻게 중첩합니까? 여기에 내가 무엇을 가지고 : 그들은 모두 화살표 아래로 2 계층 요소를 표시onl 최상위 요소가있는 asp.net에서 사이트 맵 기반 메뉴를 만드는 방법은 무엇입니까?

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

:

여기
<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> 

이 좋아하는 메뉴 컨트롤의 코드는 모습입니다. 초심자 질문을 위해 유감스럽게 여기지만 메뉴 컨트롤을 사용한 적이 한번도 없습니다.

+0

당신이 당신의 메뉴 컨트롤 코드를 게시 할 수 있습니까? 이들은 모두 최상위 노드로 보입니다! 그들 중 누구도 아이를 갖지 않았습니다. 귀하의 ASP 마크 업이 어떻게 생겼는지 궁금합니다. –

+0

그게 나 혼란스러워! 나는 그것을 통제 코드로 편집했다. – patricksweeney

답변

4

StaticDisplayLevels를 설정하면 Sitemap 파일에 하나의 레벨 만 있으면됩니다.

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

은 web.sitemap의 예 :

<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> 
관련 문제