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 :

[ASP.NET 2.0] Passer une variable de la Page Maître à la page Default et la recharger


Sujet :

ASP.NET

  1. #21
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Citation Envoyé par stephane.net
    Mose, par exemple si tu as des contrôls pour modifier l'UICulture ? (c'est une question...)
    Bein... en quoi tu as besoin de faire communiquer la master page avec la page de contenu ? Tu modifies ta culture, un pti redirect et basta !
    (J'ai loupé un truc ?)

  2. #22
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Citation Envoyé par stephane eyskens
    En fait, c'est plutôt dans l'autre sens, la page contenue doit récupérer une info de la page contenante et le fait d'implémenter cela via un event permet justement d'éviter toute dépendance de l'un vers l'autre. Quand tu évoques un usercontrol, il est vrai qu'un usercontrol est une entité à part entière mais jsutement, le but et de la réutiliser et d'éventuellement adapter son comportement en fonction du contexte d'utilisation. Si tu crées un usercontrol avec deux textbox, tu peux tour à tour l'utiliser pour encoder des employés, des clients etc.... par ex et adapter le comportement du usercontrol en fonction des données que tu gères.
    La relation entre un contrôle et ses sous-contrôle est évidente. C'est effectivement la seule méthode de travail propre.
    Ce qui faisait tiquer c'est la création d'une dépendance entre un page et sa master page.
    Citation Envoyé par stephane eyskens
    Je ne comparerais pas une masterpage à un usercontrol, c'est juste un mécanisme permettant d'offrir un layout commun à une partie ou à toutes les pages d'une application. Qui dit layout commun peut aussi dire "interface" commune et de ce fait, propriétés, contrôles etc... éventuellement communs et exploitables par les pages contenues.
    Cette comparaison n'est pas de moi, mais du gars qui a écrit l'article en référence au début de ce post ("Master Page To Content Page Interaction").

    Maintenant, méfiez vous de la maintenabilité.
    Pour moi, une masterpage est un genre de template.
    Ca veut dire que si on change de master page, l'appli (web) doit toujours fonctionner. Faire une dépendance, c'est augmenter la complexité de l'application donc diminuer sa souplesse (c'est à dire augmenter la prise de tête le jour où tu dois faire une modif).
    Après, vous faites comme vous voulez, je ne donnais qu'un petit conseil architectural.

  3. #23
    Membre expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Points : 3 016
    Points
    3 016
    Par défaut
    Citation Envoyé par Mose

    Maintenant, méfiez vous de la maintenabilité.
    Pour moi, une masterpage est un genre de template.
    Ca veut dire que si on change de master page, l'appli (web) doit toujours fonctionner. Faire une dépendance, c'est augmenter la complexité de l'application donc diminuer sa souplesse (c'est à dire augmenter la prise de tête le jour où tu dois faire une modif).
    Après, vous faites comme vous voulez, je ne donnais qu'un petit conseil architectural.
    Tu as tout à fait raison sur ce point . Ceci dit, en utilisant une masterpage, tu induis automatiquement une dépendance entre la masterpage et les pages qui l'utilisent. Chaque "sous page" référence un parent contentplaceholder. Si un jour pour une raison x-y tu dois virer un content place holder de ta masterpage, t'es parti pour virer la référence de toutes les sous pages qui l'utilisait. En ajoutant un Event comme cela a été fait pour ce post, tu ne fais qu'accroître la dépendance existante et tu lui fais changer de nature car ce n'est plus qu'une dépendance d'affichage mais ça devient une dépendance de logique.

  4. #24
    Membre habitué Avatar de stephane.net
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 170
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par Mose
    Bein... en quoi tu as besoin de faire communiquer la master page avec la page de contenu ? Tu modifies ta culture, un pti redirect et basta !
    (J'ai loupé un truc ?)
    non non .... j'aurais mieux fais de me taire... (merci)

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 104
    Points : 65
    Points
    65
    Par défaut
    Bonjour bonjour,

    Cela fait pas mal de temps que je sèche sur un problème, et j'ai enfin trouvé le bon sujet. Mais voilà, je suis confronté au même problème que l'auteur de ce message :

    je désire générer un évènement personnalisé à partir de ma masterpage. Le hic, c'est que je n'arrive pas, dans mes pages filles, à intercepter cet évènement car la compilation m'indique que " 'System.Web.UI.MasterPage' ne contient pas de définition pour 'PublicEvent' ". Y a-t-il une manipulation spéciale à réaliser afin de pouvoir accéder aux éléments spécifiés en PUBLIC d'une page maitre ?

    J'arrive par contre à capter des évènements générés par exemple par des boutons de la MasterPage, en faisant
    ((LinkButton)Master.FindControl("IdBouton")).Click += new EventHandler(Fonction);
    mais pour les évènements "homeMade", rien n'y fait !

    merci de votre aide.

  6. #26
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 104
    Points : 65
    Points
    65
    Par défaut
    Suis-je un peu C.. ? je n'avais pas vu que ce forum contenait 2 pages

    sorry pour ce message polluant

  7. #27
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 436
    Points : 963
    Points
    963
    Par défaut
    Bonjour ! Je sais que ce message date et je prie que Stéphane reçoive un mail de notification sur le post

    Car son post m'a grandement aidé ! j'ai à peu près compris pour une fois comment faire des évènements !

    Le problème, c'est que pour ma part, je souhaite faire remonter une information de la page fille à la page mère !

    Par exemple, un évènement qui correspond à l'état de l'application web : la page fille est-elle en train de charger ou pas ? Si oui, la page maitre active un composant activity qui rend l'appli légèrement transparente pour indiquer à l'utilisateur que la page travaille.

    Voici ce que j'ai pour l'instant (j'utilise silverlight et c#)

    Dans le fichier app.xaml.cs j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class IfisWorkingEventArgs : EventArgs
    {
    	private bool _working;
    	//Constructeur
    	public IfisWorkingEventArgs(bool Bool)
    	{
    		_working = Bool;
    	}
    	//Ascesseur
    	public bool Working
    	{
    		get { return _working; }
    		set { _working = value; }
    	}    
    
    	public delegate void IfisWorkingEventHandler(object sender, IfisWorkingEventArgs e);
    }
    
    Dans ma page fille, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    public event IfisWorkingEventArgs.IfisWorkingEventHandler PublicWorkEvent = null;
    
    public void setStateWork(object sender, IfisWorkingEventArgs e)
    {	
    //lookactivity est le composant dont j'ai parlé
    lookActivity.IsActive = e.Working;
    }
    
    public void setWork(bool value)
    {
    	if ( PublicWorkEvent != null )
    	{
    		EventArgs args = new IfisWorkingEventArgs(value);
    		PublicWorkEvent(this , (IfisWorkingEventArgs)args);
    	}
    }
    Et dans ma page fille, j'appelle setWork(true) quand j'utilise des fonctions, charge des élém de la bdd etc.

    Mais ceci fonctionne avec le composant lookactivity dans la page fille. Comment faire s'il se trouve dans la page maitre ?

    Donc comment faire l'inverse de ce que tu a écris, enfin dans le chemin inverse, fille -> mère

    Merci de tout éclaircissement

  8. #28
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/09/2010, 16h39
  2. ASP.net / c# acces a une variable dans une classe
    Par Angellus dans le forum ASP.NET
    Réponses: 11
    Dernier message: 29/04/2010, 15h18
  3. [ASP.NET 3.5] Appeller une variable serveur depuis un fichier js
    Par User.Anonymous dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/09/2009, 12h24
  4. [ASP.NET]Passer une variable
    Par WELCOMSMAIL dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2006, 09h38

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