Visualizzazione dei risultati da 1 a 2 su 2

Discussione: menu con sitemap xml

  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    menu con sitemap xml

    eeee lo so che rompo ma questa non so proprio come prenderla

    Ho un menu nella masterpage siffatto:
    codice:
    <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" RenderingMode="List" StaticEnableDefaultPopOutImage="False"></asp:Menu>
                    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />
    
    
    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
      <siteMapNode title="main">
        <siteMapNode   title="Menu admin">
          <siteMapNode  title="tab1"       url="tab1.aspx"    view="1"></siteMapNode>
         </siteMapNode>
         <siteMapNode  title="Menu utenti" >
            <siteMapNode title="tab2"      url="tab2.aspx"    view="2"></siteMapNode>
         </siteMapNode>
         <siteMapNode  title="Menu visitatori" >
            <siteMapNode title="tab3"      url="tab3.aspx"    view="3"></siteMapNode>
         </siteMapNode>
    </siteMapNode>
    </siteMap>
    Ora nella masterpage devo nascondere alcune voci di menu a seconda dell'utente che entra nel sito.
    Riesco a farlo per i childitem (cioè con tutte le voci tab1, tab2, tab3) usando l'istruzione seguente
    codice:
    Protected Sub Menu1_MenuItemDataBound(ByVal sender As Object, ByVal e As MenuEventArgs) Handles Menu1.MenuItemDataBound
            Dim mi As MenuItem = e.Item
            Dim node As SiteMapNode = mi.DataItem
            ....
            if node("view") = "1" then
                mi.Parent.ChildItems.Remove(mi)
            end if
            ....
    ma non riesco a rimuovere in nessun modo il nodo con il padre (es quello con title="Menu admin" nel caso l'utente sia un visitatore)!

    Sottolineo che nella parte aspx, ho indicato al sitemapdatasource di nascondere lo startingnode (alias <siteMapNode title="main">) e credo questo determini che per il nodo padre che voglio rimuovere non posso usare l'istruzione di rimozione suddetta perchè il nodo da rimuovere risulta avere parent=nothing....
    Ma allora come diavolo posso fare per rimuovere quel nodo?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    già risolto, pubblico qui che magari torna utile ad altri
    codice:
           Protected Sub Menu1_MenuItemDataBound(ByVal sender As Object, ByVal e As MenuEventArgs) Handles Menu1.MenuItemDataBound
    
            Dim me As Menu = sender
            Dim mi As MenuItem = e.Item
            If mi.Text = "Menu admin" and  <l'utente è un visitatore> Then
                    me.Items.Remove(mi)
            End If
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.