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 :

[3.5] Server Control Event handling


Sujet :

ASP.NET

  1. #1
    CUCARACHA
    Invité(e)
    Par défaut [3.5] Server Control Event handling
    Salut,

    Je bosse sur un server control qui permet de gérer plusieurs adresses pour une personne donnée.

    Il est composé d'une liste de choix de l'adresse et d'une série de champs.

    J'ai isolé mon problème, je n'arrive pas à gérer un événement.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
            protected override void CreateChildControls()
            {
                BuildDivTitle(this.Title, this, this.TitleClass, this.Required);
     
                HtmlGenericControl divContainer = new HtmlGenericControl("div");
                HtmlTable oTbl = new HtmlTable();
                HtmlTableRow oTR;
                HtmlTableCell oTD;
     
                ListBox oSelect = new ListBox();
                oSelect.ID = "lbxAddressSelector";
                oSelect.AutoPostBack = true;
                oSelect.EnableViewState = true;
                oSelect.SelectedIndexChanged += new EventHandler(lbxAddressSelector_SelectedIndexChanged);
                ListItem oCurrentItem = new ListItem();
                oCurrentItem.Value = "-1";
                oCurrentItem.Text = "[New one]";
                oCurrentItem.Attributes.Add("style", "color:#0000FF");
                oSelect.Items.Add(oCurrentItem);
     
                foreach (CL_Address_Base oCurrAddress in Addresses)
                {
                    var text =
                        from AddresseType in AddressesTypes
                        where AddresseType.Key == oCurrAddress.AddressTypeId
                        select AddresseType.Value;
                    oCurrentItem = new ListItem();
                    oCurrentItem.Value = oCurrAddress.AddressUserJoinId.ToString();
                    oCurrentItem.Text = (string)(text.ToArray<string>())[0];
                    oSelect.Items.Add(oCurrentItem);
                    oTD = new HtmlTableCell();
                    oTR = new HtmlTableRow();
                    oTD.Controls.Add(oSelect);
                    oTR.Cells.Add(oTD);
                    oTbl.Rows.Add(oTR);
                }
                divContainer.Controls.Add(oTbl);
                Label lblTest = new Label();
                lblTest.Text = "Before click";
                lblTest.ID = "lblTest";
                divContainer.Controls.Add(lblTest);
                this.Controls.Add(divContainer);
                base.CreateChildControls();
            }
    J'ai aussi créé un petit event handler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            protected void lbxAddressSelector_SelectedIndexChanged(object sender, EventArgs e)
            {
                Label lbl = (Label)Page.FindControl("lblTest");
                if (lbl != null)
                {
                    lbl.Text = "After click";
                }
            }
    Comme vous pouvez le voir, j'ai activé l'Auto post back. Ca compile bien mais à l'exécution, il semble que l'événement lbxAddressSelector_SelectedIndexChanged ne se produise jamais.

    Qu'aurais-je oublié ...

    D'avance merci pour votre aide,

    Laurent

    Au passage, je cherche depuis longtemps de la doc pour créer les interfaces en mode design mais sans succès, alors, si vous savez où je peux trouver de la doc là dessus, je suis preneur.

  2. #2
    CUCARACHA
    Invité(e)
    Par défaut G trouvé
    Il manquait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            protected override void OnLoad(EventArgs e)
            {
                this.EnsureChildControls();
                base.OnLoad(e);
     
            }
    ++

    Laurent

Discussions similaires

  1. [3.5] ASP.net server control enveloppe
    Par CUCARACHA dans le forum ASP.NET
    Réponses: 4
    Dernier message: 26/09/2008, 10h06
  2. Réponses: 1
    Dernier message: 10/06/2008, 15h43
  3. Problème de Connexion à Oracle Application Server Control
    Par magnima dans le forum Connexions aux bases de données
    Réponses: 0
    Dernier message: 16/04/2008, 12h28
  4. oracle application server control
    Par noumian dans le forum Outils
    Réponses: 2
    Dernier message: 13/12/2007, 08h32
  5. AWT et Event Handling
    Par henry.schmitt dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 13/02/2006, 16h07

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