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」が表示されますが、プロジェクトを実行すると、まったく表示されません。プロジェクトをデバッグしましたが、このノード( "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" />
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 に答える