Avatar billede idiotbarn Nybegynder
09. april 2006 - 21:10 Der er 8 kommentarer og
2 løsninger

Click event på dynamiske knapper (page og webcontrol)

Jeg har en side og en flok webcontols, som bliver loaded ind. På siden har jeg bl.a. en placeholder som de forskellige webcontrolls kan bruge...men, jeg kan ikke oprette en knap i min webcontrol med en eventhandler som jeg kan fange. Når man klikker på en knap, skal flg. knap bindes til placeholderen:

private void AddBtn_Click(object sender, System.EventArgs e)
{
...
System.Web.UI.WebControls.PlaceHolder Controlls = (System.Web.UI.WebControls.PlaceHolder)Page.FindControl("ImageEditorControlHolder");
System.Web.UI.WebControls.Button CancelBtn = new Button();
CancelBtn.ID="ImageEditorCancel";
CancelBtn.Text="Cancel";
CancelBtn.Click +=  new System.EventHandler(this.ImageEditorCancel_Click);
Controlls.Controls.Add(CancelBtn);
}

knappen bliver fint vist som den skal, men min clickevent i min webcontrol fanger ikke noget:

public void ImageEditorCancel_Click(object sender, System.EventArgs e)

Der kommer bare et postback og så er det det. Jeg kunne forestille mig at det var noget med rækkefølgen det bliver genereret på, men kan det ikke lade sig gøre?
Avatar billede dr_chaos Nybegynder
09. april 2006 - 21:15 #1
Du skal regenere dine kamper i page init.
Avatar billede idiotbarn Nybegynder
09. april 2006 - 21:21 #2
men kan det gøres fra min webcontrol? dynamisk?
Avatar billede idiotbarn Nybegynder
09. april 2006 - 21:54 #3
men ellers må jeg igang med noget javascript og noget ajax...men overskriver den dem, eller når de ikke at blive initialiserede?
Avatar billede dr_chaos Nybegynder
10. april 2006 - 08:06 #4
prøv med
System.Web.UI.WebControls.PlaceHolder Controlls = (System.Web.UI.WebControls.PlaceHolder)Page.FindControl("ImageEditorControlHolder");
System.Web.UI.WebControls.Button CancelBtn = new Button();
CancelBtn.ID="ImageEditorCancel";
CancelBtn.Text="Cancel";
CancelBtn.Click +=  new System.EventHandler(this.ImageEditorCancel_Click);
Controlls.Controls.Add(CancelBtn);
i page init
Avatar billede snepnet Nybegynder
10. april 2006 - 20:52 #5
hvis du gerne vil have kontrollerne tilføjet i en handler på den måde, kan du benytte denne her:
(eller lave noget lignende selv)
http://www.denisbauer.com/ASPNETControls/DynamicControlsPlaceholder.aspx
mvh
Avatar billede idiotbarn Nybegynder
10. april 2006 - 21:05 #6
Hey. Tak, jeg er endt med at lave det med ajax, men det ser ud til at være interessant læsning. (og en løsning på problemet) Ligges der et svar?
Avatar billede snepnet Nybegynder
10. april 2006 - 21:13 #7
fra mig?
mvh
Avatar billede idiotbarn Nybegynder
10. april 2006 - 21:15 #8
Ja...venter nok lige på dr chaos, det er jo rigtigt nok hvad han siger...vidste ikke det var sådan...men så bliver man klogere :)
Avatar billede snepnet Nybegynder
10. april 2006 - 22:36 #9
well... dynamisk tilføjede kontroller (som i dit eksempel) bliver ikke hængende i kontroltræet. den del af festen må du selv stå for :o)
mvh
Avatar billede dr_chaos Nybegynder
11. april 2006 - 08:14 #10
skal jeg smide et svar ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester