IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Menu dynamique - DataSource = Active Directory


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de DevBaldwin
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Par défaut Menu dynamique - DataSource = Active Directory
    Vonbour à jous !!

    Une question sur les menus asp :

    Je souhaiterais créer un menu dynamique en suivant une architecture Active Directory. Rien de bien compliqué (en théorie )

    J'ai d'ores et déjà extrait les infos utiles de l'AD dans une DataTable et je voudrais maintenant créer un MenuItem pour chaque Row de ma DataTable.

    Le soucis se pose ici.

    Je n'ai pas trouvé comment lier mon objet Menu à ma DataTable.
    En parcourant le Web, je n'ai même pas vu que c'était possible. Ma 1ère question est donc : Est-il possible de lier un objet asp Menu à une DataTable ?

    Si non, alors comment personnaliser le contenu d'un Menu Dynamique ? Autrement que par un SiteMap (pas adapté)

  2. #2
    Membre émérite Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Par défaut StaticSiteMapProvider
    Il faut implémenter un StaticSiteMapProvider qui utilise les données de ton datatable ou de ta base de données et configurer cela dans le web.config.

  3. #3
    Membre éclairé Avatar de DevBaldwin
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Par défaut
    Outch ! Aïe !
    J'ai pas trop compris ce que tu as dis.
    Tu as un exemple sous la main ? (Je vais bien évidement cherche par moi même, mais je ne sais pas trop quoi regarder en priorité. Donc si tu as quelque chose concret sous la main, c'est pas de refus )


    Autre chose, je fais refouler pas le moteur asp avec ce message :
    Le contrôle 'MyNavBar_MyMenu' de type 'Menu' doit être placé dans une balise form avec runat=server.
    Pour info, j'essaye d'intégrer mon objet menu "MyMenu" dans un contrôle utilisateur (.ascx).
    Il doit y avoir une combine pour contourner ça et intégrer l'objet Menu dans un contrôle utilisateur ?

  4. #4
    Membre émérite Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Par défaut
    Il faut implémenter une classe dérivant de StaticSiteMapProvider et configurer le web.config pour utiliser le provider.
    L'implémentation de StaticSiteMapProvider accédera à l'AD ou au datatable.

    http://msdn.microsoft.com/fr-fr/libr...pprovider.aspx

    Sinon la page aspx contient une balise form avec balise runat=server, il faut que les contrôle aspx soit créer dedans, sinon ça ne marche pas.

  5. #5
    Membre éclairé Avatar de DevBaldwin
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Par défaut
    Salut !

    Le StaticSiteMapProvider est probablement une bonne solution, mais j'ai fais sans.
    J'ai été au plus simple et j'ai créer un objet Menu auquel j'ai ajouter des MenuItem.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'Accueil
                MenuItem = New MenuItem("Accueil", "Accueil", "", "./Default.aspx")
                MyMenu.Items.Add(MenuItem)
     
                'Script-Facturation
                MenuItem = New MenuItem("Script-Facturation", "Script-Facturation", "", "./Script-Facturation.aspx")
                MyMenu.Items.Add(MenuItem)
    Pour ce qui est de la partie AD, j'ai parcouru le résultat d'une requête PowerShell et j'ai créer un sous-menu MenuItem pour chaque résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'Partenaires
                MenuItem = New MenuItem("Partenaires", "Partenaires", "", "#")
                'Liste des partenaires
                Dim GetListePartenaires As Object = ps.exec("Get-ADOrganizationalUnit -Filter * -SearchScope onelevel -SearchBase 'OU=GLOUD,DC=MOMO,dc=TOTO' -properties description | Where{$_.Name -like 'PRTN-*'}")
                'Variable d'exploration de la liste des partenaires
                Dim Partenaire As PSObject
                'Exploration de la liste des partenaires
                For Each Partenaire In GetListePartenaires
                    'Pour chaque OU partenaire, on créer un sous-menu
                    Dim ChildItemMenu As MenuItem = New MenuItem(Partenaire.Properties("Description").Value.ToString, Partenaire.Properties("Name").Value.ToString)
                    MenuItem.ChildItems.Add(ChildItemMenu)
                Next
    Merci à toi NicoL__, tes réponses m'ont mise sur la piste

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Active Directory et groupe dynamique
    Par shaun_the_sheep dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 23/05/2011, 13h16
  2. Activer une Popup depuis un menu dynamique !
    Par marynes dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 26/04/2008, 12h51
  3. Réponses: 2
    Dernier message: 27/09/2006, 14h22
  4. Active directory
    Par m.schar dans le forum Développement
    Réponses: 5
    Dernier message: 22/03/2004, 10h30
  5. Menu dynamique sous Flash MX
    Par dens63 dans le forum Flash
    Réponses: 7
    Dernier message: 29/10/2003, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo