0

我正在使用一个使用 web.sitemap 文件的 asp.menu 的项目中工作。我添加了这样的子菜单:

<?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”...但是当我运行项目时,它根本不显示。我已经调试了项目,就像这个节点的 itemdatabound 事件(“Relatorios”)根本没有启动。如果我删除它的子节点(“测试”),它将正常工作。为什么会这样?

我的母版页中的 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" />
4

1 回答 1

0

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

siteMap enabled="true">
  <providers>
    <clear/>
    <add siteMapFile="Web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true"/>
  </providers>
</siteMap>
于 2012-08-10T12:49:02.460 回答