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][Framework 3.5] Comment créer un "MasterUserControl" à l'instar des "MasterPage" ?


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 92
    Par défaut [ASP.NET][Framework 3.5] Comment créer un "MasterUserControl" à l'instar des "MasterPage" ?
    Bonjour à tous,

    Mon problème a sans doute déjà été rencontré mais je n'ai pas trouvé de post à ce sujet en cherchant "Master UserControl" ni dans le FAQ

    En fait dans mon application, les pages comportent de nombreux UserControls. Certains permettent juste l'affichage de données (tableau, graphiques), d'autres sont des petits formulaires. Ils ont tous en commun leur mise en forme (comme les blocs dans netvibes : entête, pied de page usercontrol, texte d'avertissement, etc) mais aussi certains boutons. Par exemple, chaque usercontrol de type formulaire, possède en footer : un bouton Valider et Annuler.

    Mon problème : Lors de la création d'un nouveau usercontrol, je dois copier le code ASP (div, asp:Button, etc) alors qu'il n'y a que le body qui change. De plus, quand les utilisateurs ont demandé d'ajouter un bouton Réinitialiser à droite des boutons Valider et Annuler, j'ai du passé dans chaque usercontrol et ajouter le code ASP.

    Quelqu'un a-t-il déjà solutionné ce problème ???

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Il n'existe en effet pas de "MasterUserControl" à ce que je sache.
    Tu peux cependant regarder du côté des templates pour arriver à quelque chose de plus factorisé.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 92
    Par défaut
    Merci calagan99 ! Je vais jeter un oeil sur ses templates.

    Sinon, j'ai aussi trouvé ce lien via google : ici.
    Mais je n'ai pas réussi à mettre en place sa solution (qui pourtant à l'air simple).

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Qu'est ce qui ne fonctionne pas chez toi dans la solution utilisée dans l'exemple que tu donnes ?

    Si tu veux procéder plus simplement, crée un UserControl contenant le HTML qui servira de base à tes UserControls "enfants", ajoute lui un contrôle de type conteneur (PlaceHolder par exemple).
    Crée une propriété publique pour accéder à ce PlaceHolder (pour ne pas avoir systématiquement à passer par un FindControl) ou une méthode publique "AddControl" dans laquelle tu ferais quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.Controls.Add(unControl)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 92
    Par défaut
    Je n'ai pas réussi à faire fonctionner la solution avec des UserControl "enfant" dynamique, c'est-à-dire en ajoutant dans le .ascx :

    - Des éléments de code du genre <%= this.Title %>, cela compile mais une erreur est lancée à l'exécution
    The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
    - Des controls, par exemple des boutons, des textbox, etc... cela ne compile même pas car dans le codebehind du UserControl "enfant", ces controls ne sont pas reconnus.

    Par contre, si le UserControl "enfant" ne contient que du code static (just html), cela fonctionne bien.

Discussions similaires

  1. [ASP.NET 2.0][C#] Comment écrire dans un fichier Excel ?
    Par Louisa dans le forum Accès aux données
    Réponses: 8
    Dernier message: 19/12/2012, 18h43
  2. Réponses: 21
    Dernier message: 26/09/2007, 11h22
  3. [.NET 2.0] DataList => Comment créer un tableau ?
    Par mioux dans le forum ASP.NET
    Réponses: 6
    Dernier message: 10/09/2007, 16h01
  4. Réponses: 3
    Dernier message: 08/03/2007, 17h12
  5. Vresion IIS et ASP .net Framework v1.1
    Par hakim11 dans le forum IIS
    Réponses: 4
    Dernier message: 25/12/2006, 22h28

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