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 :

Contrôler dynamiquement la page Maître


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de Othana
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 188
    Points : 86
    Points
    86
    Par défaut Contrôler dynamiquement la page Maître
    Bonjour ici.

    [Code Behind en C#]
    Alors voilà, je cherche à contrôler dynamiquement des MenuItem de ma page Maître, depuis un évènement d'une page contenant. Genre un click sur un bouton.
    donc, il faudrait, par exemple qu'un menu devienne actif et sélectionnable, ou bien en ajouter un. Sachant que les MenuItems n'ont pas d'ID, c'est un peu compliqué, Il n'y a que le Menu qui en a un.

    Donc, je pense à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.Parent.FindControl("NavigationMenu").Controls.Add(.......)
    Mais là, je coince sur la syntaxe pour définir le nouveau MenuItem (et accessoirement pour l'ajouter à un emplacement précis du menu, genre avant le dernier MenuItem).
    Ou bien récupérer un MenuItem déjà existant pour en changer les attributs.
    Sachant qu'un MenuItem s'écrit comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:MenuItem NavigateUrl="~/Blablabla.aspx" Text="Blablabla" />
    et qu'il n'y a pas d'attribut ID pour l'identifier.

  2. #2
    Membre régulier Avatar de Othana
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 188
    Points : 86
    Points
    86
    Par défaut
    Bon, l'ajout de MenuItem est résolu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (this.Master.FindControl("NavigationMenu") as Menu).Items.Add(new MenuItem("Blabla", "", "", "~/Blabla.aspx"));
    Maintenant, c'est prendre le controle d'un menu qui pose soucis.
    Pour un menu C non sélectionnable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (this.FindControl("NavigationMenu") as Menu).FindItem("Charger PDF").Selectable = false;
    , l'évènement du click sur un bouton de la page content du menu B le rend sélectionnable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (this.Master.FindControl("NavigationMenu") as Menu).FindItem("Charger PDF").Selectable = true;
    C'est ok, ça marche... Jusqu'à ce que je change de menu. Auquel cas je perd complètement la modification de l'attribut Selectable (ainsi que d'autres joyeusetés du même goût : affichage d'un label).
    Là, je coince complètement.

  3. #3
    Membre régulier Avatar de Othana
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 188
    Points : 86
    Points
    86
    Par défaut
    9 mois après, malgré l'absence de réponse, ce sujet est toujours, pour moi, d'une chaude actualité.

    si un bon développeur spécialisé dans l'ASP.Net pouvait voir ça, merci.

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,
    Citation Envoyé par Torq le nain Voir le message
    ça marche... Jusqu'à ce que je change de menu
    Que veux-tu dire?

    Pour le reste, en programmation objet, les objets ne "peuvent" (devraient) communiquer entre eux que de manière explicite. Si une TextBox se trouve dans une master page et un bouton dans la content page alors le bouton ne sait pas que la TextBox (ou le menu) existe. Il ne devrait pas essayer de le rechercher et de lui ajouter des éléments.

    Comment faire? Tu peux lire ce tutoriel: http://lutecefalco.developpez.com/tu...-page-asp-net/

    Porte toute ton attention sur la gestion des évènements. On en reparle dès que tu es prêt.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2011
    Messages : 66
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    Peut être cela servira a quelqu'un et pour compléter le post précédent...

    Pour supprimer un onglet dans le cas ou l'utilisateur ne devrait pas avoir accès à une page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (this.FindControl("NavigationMenu") as Menu).Items.Remove("ItemduMenu");

Discussions similaires

  1. Réponses: 27
    Dernier message: 09/09/2009, 12h17
  2. Pages maître imbriquées posent problème
    Par citizen_yule dans le forum ASP.NET
    Réponses: 4
    Dernier message: 26/06/2007, 14h15
  3. Réponses: 8
    Dernier message: 03/01/2007, 10h51
  4. Modifier/enrichir dynamiquement une page WEB
    Par tp1024 dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 07/11/2006, 14h42
  5. graphique dynamique sur page web
    Par kek_net dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 16/08/2006, 15h01

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