2012-08-10 2 views
0

web.sitemap 파일을 사용하는 asp.menu를 사용하는 프로젝트에서 작업하고 있습니다. 내가 영문 파일의 모드를 표시하는 전환하면상위 노드와 하위 노드가 asp.menu (web.sitemap 포함)에 표시되지 않음

<?xml version="1.0" encoding="utf-8" ?> 
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > 
    <siteMapNode url="formPaginaPrincipal.aspx" title="Página Inicial" description="Pagina inicial do site"> 
    <siteMapNode url="listaModalidades.aspx" title="Modalidades" description="Modalidades de licitações" /> 
    <siteMapNode url="" title="Relatórios" description="Relatórios do sistema"> 
     <siteMapNode url="list.aspx" title="testing"></siteMapNode> 
    </siteMapNode> 

    <siteMapNode url="listaTiposLicitacao.aspx" title="Tipos de Licitação" description="Tipos de licitações" /> 
    <siteMapNode url="listaOrgaos.aspx" title="Órgãos" description="Órgãos do governo de Pernambuco" /> 
    <siteMapNode url="listaComissoes.aspx" title="Comissões" description="Comissões de licitações" /> 
    <siteMapNode url="listaLicitacoes.aspx" title="Licitações" description="Licitações" /> 
    <siteMapNode url="ArquivarLicitacoes.aspx" title="Arquivar Licitações" description="Arquivamento de Licitações" /> 
    <siteMapNode url="listaEmpresas.aspx" title="Fornecedores" description="Fornecedores" /> 
    <siteMapNode url="listaUsuarios.aspx" title="Usuários" description="Usuários de Órgãos do governo de Pernambuco" /> 
    <siteMapNode url="formPaginaPrincipal.aspx?acao=sair" title="Sair" description="Encerrar Sessão" /> 
    </siteMapNode> 
</siteMap> 

, 난 부모 노드 "Relatorios"를 볼 수 있습니다 ...하지만 난 프로젝트를 실행하면, 그렇지 않습니다 :이 같은 하위 메뉴를 추가했습니다 전혀 나타나지 않습니다. 프로젝트를 디버깅했습니다.이 노드 ("Relatorios")의 itemdatabound 이벤트가 전혀 실행되지 않습니다. 자식 노드 ("테스트")를 제거하면 정상적으로 작동합니다. 왜 이런 일이 일어나는 걸까요? 내 masterpage에서

내 aspmenu 및 asp.sitemapdatasource : 그것은 아마 렌더링되지 않습니다 어떤 URL이 없기 때문에 당신이 당신의 구성에 당신의 사이트 맵을 선언 할 수 있습니다

<asp:Menu ID="mnuPrincipal" runat="server" DataSourceID="SiteMapDataSource1" 
        StaticDisplayLevels="2" Width="208px" 
       onmenuitemclick="mnuPrincipal_MenuItemClick" 
       OnMenuItemDataBound="mnuPrincipal_temDataBound" DynamicHorizontalOffset="2" 
       StaticSubMenuIndent="40px" > 
       <StaticMenuStyle CssClass="menu" /> 
       <StaticSelectedStyle CssClass="selecionado" /> 
       <StaticMenuItemStyle CssClass="sub-menu" /> 
       <DynamicMenuStyle CssClass="menu" /> 
       <DynamicSelectedStyle CssClass="selecionado" /> 
       <DynamicMenuItemStyle CssClass="sub-menu" /> 
       </asp:Menu> 

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" StartFromCurrentNode="false" /> 
+0

- 퍼팅 시도 URL을 # 표시하고 표시되는지 확인하십시오. –

+0

감사합니다! 그것은 일했다! 하지만 지금은 한 가지가 있습니다. IE8에서 일종의 흰색 상자를 보여줍니다 (CSS 수정을 적용했지만 작동하지 않았습니다). 크롬에서 실행하면 부모 노드가 표시되지만 자식은 표시되지 않습니다. 노드 ... –

+0

걱정할 필요가 없습니다. IE8 문제에 대해 확신하지 못함 - CSS 문제와 유사합니다. 새로운 질문을 시작하고 관련 CSS를 게시 할 수 있습니다. –

답변

0

siteMap enabled="true"> 
    <providers> 
    <clear/> 
    <add siteMapFile="Web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true"/> 
    </providers> 
</siteMap> 
+0

그것은 이미 web.config 파일에 선언되어 있습니다. 내가 말했듯이 이상한 일은 : 디자인 모드에서 aspx 파일을 검사하면 asp.menu (masterpage에 있기 때문에)를 볼 수 있고 내가 추가 한 부모 노드를 볼 수 있습니다. 그러나 프로젝트를 실행할 때 메뉴에 전혀 나타나지 않습니다. 그것의 menuitemdatabound 이벤트는 또한 발사하지 않는다 ... –

관련 문제