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 :

Controle dynamique - Impossible de modifier la collection


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Avril 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 213
    Par défaut Controle dynamique - Impossible de modifier la collection
    Bonjour,

    Je me pose une question. Dans tous les exemples on trouve du code de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    protected PlaceHolder PlaceHolder1; 
    private void Page_Load(System.object sender, System.EventArgs e)
    {
    	Label monlabel = new Label();
    	PlaceHolder1.Controls.Add(monlabel);
    }
    Dans une application j'ai le code suivant au niveau du load d'un usercontrol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Page.Response.Expires = -1
     
            Dim Lit As New Literal
            Lit.Text = "<span>toto</span>"
            Page.Controls.Add(Lit)...
    et j'obtiens l'erreur suivante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Impossible de modifier la collection de contrôles durant les phases DataBind, Init, Load, PreRender ou Unload.
    Quelqu'un a t'il une explication svp ?

  2. #2
    Membre émérite
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Par défaut
    Tu essai d'ajout un control dans ta page or tu es au niveau de ton user control.

    Et pour connaitre le cycle de vie d'une page :
    MSDN
    Et un petit tutorial en français :
    Tuto developpez

    Donc au lieu de "page.Controls" tu fait "this.Controls"
    Sur le page_load du user control (désolé ça va être du C#) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    protected void Page_Load(object sender, EventArgs e)
            {
                Literal lit = new Literal();
                lit.Text = "<span>toto</span>";
                this.Controls.Add(lit);
            }

  3. #3
    Membre très actif
    Inscrit en
    Avril 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 213
    Par défaut
    merci. Je suis bilingue c#/Vb.

    effectivement avec le "this" ça fonctionne. Je vais lire cette belle doc. Car en fait mon pb est que dans la suite du code (dont j'ai hérité), j'ai besoin de Page.

Discussions similaires

  1. Modifier un control dynamique
    Par grimgort dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 22/07/2014, 14h00
  2. [VB6]comment supprimer dynamiquement un controle dynamique?
    Par totor le troll dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 06/07/2011, 21h10
  3. ListView/TV sur collection de string, impossible de modifier
    Par Spazou dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 22/01/2010, 14h52
  4. [VB.NET] Contrôle dynamique et évènements
    Par johann.C dans le forum ASP.NET
    Réponses: 4
    Dernier message: 30/11/2009, 10h45
  5. [VB6] creation et gestion de contrôle dynamique
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/04/2004, 00h09

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