Avatar billede misbruger Nybegynder
16. juli 2004 - 13:22 Der er 7 kommentarer og
1 løsning

Button events i user control

Jeg har en user control, som bliver loaded ind i en placeholder på en aspx side.

I den usercontrol har jeg en datalist, med en imagebutton som item.

I min ItemDataBound, sætter jeg følgende....

private void dtl_ItemDataBound(object sender, DataListItemEventArgs e)
{
  ImageButton img = ((ImageButton)e.Item.FindControl("img"));
  img.Click += new System.Web.UI.ImageClickEventHandler(img_Click);
  img.CommandArgument = CurrPage.Type.Url;
}
Altså når der kilkkes på min imagebutton, skal den raise...

private void img_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
  this.Response.Write("tester");
}

Men der sker ingen ting....?

Skal man raise en custom event, eller hvad er fidusen ?
Avatar billede snepnet Nybegynder
16. juli 2004 - 13:32 #1
Ovenstående kan godt virke, men det kræver at du databinder hver hvert roundtrip, så hvis du har sådan en her :
if(!IsPostBack)
  // hvordan du nu databinder griddet

Vil det du har skrevet ikke virke, da det så kun er ved databinding at du fortæller at du gerne vil snable på knaptrykket.
Avatar billede snepnet Nybegynder
16. juli 2004 - 13:39 #2
Hmmm... Jeg kan se at du sådan set har angivet din imagebutton deklarativt, så du burde kunne opfange klikket i dtl_ItemCommand.

Altså hvis du tilknytter en handler til dette event på griddet burde du i den handler kunne gøre noget ved det.
Avatar billede snepnet Nybegynder
16. juli 2004 - 13:41 #3
(Det argument du får med i ItemCommand-eventhandler kan du så trække diverse relevant information ud af).
Avatar billede misbruger Nybegynder
16. juli 2004 - 13:50 #4
Det virkede ikke at fjeren mit IsPostBack tjeck.

Men ha...
Hvorfor har jeg ikke tænkt på det... ItemCommand på datalist'en  det er jo meget lettere.....
Avatar billede snepnet Nybegynder
16. juli 2004 - 13:57 #5
Hvis du indsætter knappen (istedet for bare at referere den) i ItemDataBound, skulle den første model også virke.
Avatar billede misbruger Nybegynder
16. juli 2004 - 14:02 #6
Altså hvis jeg i ItemDateBound loader min control ind i min DataList, så vil jeg ligeledes kunne fange den som i mit eget eksemple....

Dog så kræver det at jeg binder min DataList på hver postback....

Så kan jeg bedre lide at fange eventen gennem ItemCommand.

Ellers tak.

Smid lige et svar :)
Avatar billede snepnet Nybegynder
16. juli 2004 - 14:05 #7
Det er også federe... Altså at fange den i ItemCommand :o)
Avatar billede misbruger Nybegynder
16. juli 2004 - 14:32 #8
Top
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

IT-JOB