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 ?