Avatar billede kimputer Nybegynder
18. august 2005 - 09:11 Der er 4 kommentarer

ImageButton trigger ikke sit command event !

Jeg har en søgeformular hvor man kan indtaste nogle kriterier og trykke på en "Søg" knap hvorefter metoden under knappen dynamisk genererer en tabel med alle resultater og viser det på siden under søgeformularen. I hver række har jeg under sidste kolonne placeret en "Ret" knap af typen ImageButton, som skal kalde en rediger side.

Mit problem er at "Ret" knappen ikke trigger sit command event når man klikker på den.

Overordnet tror jeg selv det har noget at gøre med at min "Ret" knap først bliver oprettet og tilføjet til tabellens controls når man klikker på "Søg" knappen og ikke ved hver postback af siden.


Her er essensen af click metoden for "Søg" knappen. Det der ikke er taget med er bare sqlstreng, command og datareader.

...

  try
  {
    conn.Open();
    sqlDR = sqlCmd.ExecuteReader();
    int oldId = -1;
               
    while (sqlDR.Read())
    {
                   
      int id = sqlDR.GetInt32(0);

      if (id!=oldId)
      {
        TableRow trElev = new TableRow();
        trElev.ID=System.Guid.NewGuid().ToString();

        TableCell tcFornavn = new TableCell();
        tcFornavn.ID=System.Guid.NewGuid().ToString();
        tcFornavn.Text=sqlDR.GetString(1);
        tcFornavn.CssClass="ElevSogning_tcFornavn";
        trElev.Cells.Add(tcFornavn);
                       
        TableCell tcEfternavn = new TableCell();
        tcEfternavn.ID=System.Guid.NewGuid().ToString();
        tcEfternavn.Text=sqlDR.GetString(2);
        tcEfternavn.CssClass="ElevSogning_tcEfternavn";
        trElev.Cells.Add(tcEfternavn);

        TableCell tcCprNr = new TableCell();
        tcCprNr.ID=System.Guid.NewGuid().ToString();
        tcCprNr.Text=sqlDR.GetString(3);
        tcCprNr.CssClass="ElevSogning_tcCprNr";
        trElev.Cells.Add(tcCprNr);
                       
        TableCell tcRet = new TableCell();
        tcRet.ID=System.Guid.NewGuid().ToString();
        tcRet.CssClass="ElevSogning_tcRet";
        ImageButton imgBtnRet = new ImageButton();
        imgBtnRet.ID="imgBtnRet"+sqlDR.GetInt32(0).ToString();
        imgBtnRet.CssClass="ElevSogning_imgBtnRet";
        imgBtnRet.ImageUrl="system-images/icon-pencil.gif";
        imgBtnRet.CommandArgument = sqlDR.GetInt32(0).ToString();
        imgBtnRet.CommandName="Ret";
        imgBtnRet.Command +=new CommandEventHandler(imgBtnRet_Command);
        imgBtnRet.CausesValidation=false;
        tcRet.Controls.Add(imgBtnRet);
        trElev.Cells.Add(tcRet);
        trElev.CssClass="ElevSogning_trElev";
        ElevSogning_tblResultater.Rows.Add(trElev);

        oldId = id;
      }

      TableRow trHold = new TableRow();
      trHold.ID=System.Guid.NewGuid().ToString();

      TableCell tcHoldNr = new TableCell();
      tcHoldNr.ID=System.Guid.NewGuid().ToString();
      tcHoldNr.Text=sqlDR.GetString(4);
      tcHoldNr.CssClass="ElevSogning_tcHold";
      trHold.Cells.Add(tcHoldNr);

      TableCell tcHoldNavn = new TableCell();
      tcHoldNavn.ID=System.Guid.NewGuid().ToString();
      tcHoldNavn.Text=sqlDR.GetString(5);
      tcHoldNavn.CssClass="ElevSogning_tcHold";
      trHold.Cells.Add(tcHoldNavn);

      TableCell tcAfdeling = new TableCell();
      tcAfdeling.ID=System.Guid.NewGuid().ToString();
      tcAfdeling.Text=sqlDR.GetString(6);
      tcAfdeling.CssClass="ElevSogning_tcHold";
      trHold.Cells.Add(tcAfdeling);

      TableCell tcLaerernavn = new TableCell();
      tcLaerernavn.ID=System.Guid.NewGuid().ToString();
      tcLaerernavn.Text=sqlDR.GetString(7);
      tcLaerernavn.CssClass="ElevSogning_tcHold";
      trHold.Cells.Add(tcLaerernavn);

      ElevSogning_tblResultater.Rows.Add(trHold);
    }
  }
  catch(Exception ex)
  {
    throw new Exception(ex.Message);
  }
  finally
  {
    conn.Close();
  }


Er det forslag til hvordan jeg får min "Ret" knap til at trigge sit command event ?
Avatar billede anadan Nybegynder
18. august 2005 - 09:28 #1
smid lige koden til imgBtnRet_Command.

Er det ikke asp.net?
Avatar billede kimputer Nybegynder
18. august 2005 - 09:32 #2
jo det er asp.net.

Koden i imgBtnRet_Command er underordnet, for det bliver jo ikke trigget men der står kun en linie med en Response.Redirect til rediger siden.
Avatar billede anadan Nybegynder
18. august 2005 - 09:34 #3
over i asp.net med den
Avatar billede kimputer Nybegynder
18. august 2005 - 15:27 #4
Jeg lukker for spørgsmålet. Jeg har fundet en anden løsning på problemet ved at tilføje en onclick attribut på knappen og skrive noget javascript istedet for command eventet.
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