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 :

ASCX et PlaceHolder


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut ASCX et PlaceHolder
    Salut

    J'essaie d'optimiser l'utilisation des ASCX mais je crois que je viens de trouver la limite.
    J'utilise des PalceHolder pour appeler mes ASCX dynamiquement.
    Mais là j'ai un soucis : j'ai une page ASPX qui contient un PlaceHolder qui appelle un ASCX, qui lui même contient un Place Holder qui lui même appel un ASCX.
    L'ennui ces que y a rien qui s'affiche.
    Par contre quand je mets directement l'ASCX dans le premier il s'affiche.

    Est ce que vous savez pourquoi ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    Peux tu nous dire a quels moments (quels evenements) tu fais tes loadcontrol, dans la page et dans ton premier ascx ? As-tu essayé de debuguer, passes tu bien par tous les endroits qu'il faut ?

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Mes LaodControl sont dans le PageLoad de chaque page ASCX.
    Oui, je ai essayé de débugger. Visiblement il ne passe pas dans le ASCX qui contient l'autre ASCX.

    J'y perds mon VB......

  4. #4
    Nip
    Nip est déconnecté
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    963
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 963
    Par défaut
    C'est certainement une question de persistance de tes forms dans le placeholder et pour resoudre ton probleme, utilise ce composant: http://www.denisbauer.com/ASPNETCont...aceholder.aspx, en tout cas ca a ete salutaire pour moi .

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ce composant. Il m'a l'air interssant mais ne règle pas mon soucis.

    En fait l'impression que le PlaceHolder dans le deuxième ASCX ne prends pas en compte le LoadControl. C'est trés bizarre est surtout j'ai pas de message d'erreur pour m'aiguiller.

    Merci

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    En fait l'impression que le PlaceHolder dans le deuxième ASCX ne prends pas en compte le LoadControl
    Le loadcontrol ne suffit pas , tu ajoutes bien tes controles ensuite dans les placeholder au moins ? (MonPlaceHolder.Controls.Add(MonControl)

    De plus tes controles tu les recrées bien à chaque postback ?

  7. #7
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    SPHAX, je comprends pas bien le fait de recréer à chaque PostBack.
    Le code que j'utilise c'est çà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    phMenuGen.Controls.Add(LoadControl("menugen.ascx"))
    phMenugen est le PlaceHolder de la page ASPX
    Et dans le menugen.ascx il il y aun autre autre PlaceHolder avec ce code là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    phCont.Controls.Add(LoadControl("voiture.ascx"))
    J'ai même ajouter un peu de texte avant et aprés le PlaceHolder, pour voir s'il me faisait un truc ou pas et les deux textes sont parfaitement collé, comme s'il ignorait totalement le PlaceHolder.

    Je pense qu'il ne prends pas en compte ce LoadControl là. Mais je ne vois pas ce que je peux faire d'autre.

    Merci

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    En debuguant, est-ce que tu passes bien par ce second LoadControl ou pas déja ? Est ce que tu charges tes controles systematiquement, ou bien as tu un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if( ! IsPostBack )
    {  
      ... LoadControl ...
    }

  9. #9
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    euh, ben non, j'ai pas çà. J'utilise pas le PostBack, çà doit être qui pose un soucis alors.

    L'ennuis c'est que je sais pas trop comment çà marche le PostBack.

    Par contre, j'ai modifier mon principe de navigation et je n'ai plis besoins de faire ce que je fais. Donc merci à tous pour votre aide. Je ferme le topic pour faire propre, même si j'ai pas de solution au souci. S'il se représente, je reviendrais.

    Maintenant j'ai un autre soucs, qui doit être lié au PostBack, mais je vais ouvrir un autre topic pour çà.

    Encore merci

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

Discussions similaires

  1. [WebForms]placeholder
    Par dude666 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 19/08/2005, 16h42
  2. [C#] Exécuter une méthode apsx.cs depuis un ascx
    Par bendj dans le forum ASP.NET
    Réponses: 12
    Dernier message: 12/07/2005, 11h18
  3. [C#] Recuperer les proprietes publiques d'un .ascx
    Par akecoocoo dans le forum ASP.NET
    Réponses: 4
    Dernier message: 30/06/2004, 19h06
  4. [VB.NET] Transmettre un flux par un placeholder
    Par zaky dans le forum ASP.NET
    Réponses: 2
    Dernier message: 29/04/2004, 10h35
  5. [C#] Organisation PlaceHolder
    Par Johan31 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 26/01/2004, 14h20

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