How can I call the OnClick
event in code behind
of a dynamically created button?
I'm trying the following way, but I'm not getting it.
void MontarHtml(List<DocumentoImagens> DocImagens)
{
foreach (DocumentoImagens DocImg in DocImagens)
{
TableRow trTesto = new TableRow();
trTesto.Cells.Add(MontarTextBox(DocImg));
trTesto.CssClass = "textarea";
Table1.Rows.Add(trTesto);
TableRow trimagem = new TableRow();
TableCell tdckb = new TableCell();
ImageButton btn = new ImageButton { ID = DocImg.IdDocImagem.ToString() };
btn.ImageUrl = "~/Imagens/Icons/delete.gif";
btn.Click += new ImageClickEventHandler(butDeleteImagem_Click);
tdckb.Controls.Add(btn);
trimagem.Cells.Add(tdckb);
Table1.Rows.Add(trimagem);
TableCell tdig = new TableCell();
Image ig = new Image();
ig.ImageUrl = DocImg.Url;
ig.ID = "idimg" + DocImg.IdDocImagem.ToString();
ig.CssClass = "image";
tdig.Controls.Add(ig);
trimagem.Cells.Add(tdig);
Table1.Rows.Add(trimagem);
}
}
protected void butDeleteImagem_Click(object sender, ImageClickEventArgs e)
{
try
{
ImageButton Btn = sender as ImageButton;
if (Btn != null)
{
Int32 IdDocImagem = Convert.ToInt32(Btn.ID);
new DocumentoImagensBusiness().DeleteDocumentoImagens(IdDocImagem);
}
var DocuImagens = new DocumentoImagensBusiness().GetDocumentoImagens(_documento.IdDocumento);
Table1.Controls.Clear();
LoadImagens(DocuImagens);
}
catch (Exception ex)
{
Util.ExibirMensagem(lblMensagemErro, ex.Message, Util.TipoMensagem.Erro);
NLog.Log().Error(ex);
ExcecaoBusiness.Adicionar(ex, HttpContext.Current.Request.Url.AbsolutePath);
}
}
protected void Page_Load(object sender, EventArgs e)
{
try
{
var DocuImagens = new DocumentoImagensBusiness().GetDocumentoImagens(_documento.IdDocumento);
LoadImagens(DocuImagens);
//..............
private void LoadImagens(List<DocumentoImagens> DocuImagens)
{
if (DocuImagens != null)
MontarHtml(DocuImagens);
//.....................