父节点和子节点未显示在 asp.menu 中(使用 web.sitemap)



我正在一个使用 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>

如果我在aspx文件中切换到显示模式,我可以看到父节点"Relatorios"...但是当我运行项目时,它根本没有显示。我已经调试了该项目,就像这个节点("Relatorios")的 itemdatabound 事件根本没有启动一样。如果我删除它的子节点("测试"),它将正常工作。为什么会这样?

我的母版页中的aspmenu和asp.sitemapdatasource:

<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" />

您可以在配置中声明站点地图

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

最新更新