• Martes 16 de Abril de 2024, 11:55

Autor Tema:  No capturo evento click de control dinamico  (Leído 5629 veces)

Cpt.Pollo

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
No capturo evento click de control dinamico
« en: Miércoles 3 de Agosto de 2011, 23:11 »
0
Hola, les pido un poco de su conocimiento, les pido de favor que me orienten, en este problema que tengo...  :ayuda:

Quiero capturar el evento click de un link button que he creado de forma dinamica. Ya le un addhandler y nada, no se que estoy haciendo mal, por favor si alguien sabe digame que tengo mal.  :think:

Les dejo el codigo.

Dim Celda As New TableCell()
            Dim gridpo As HtmlGenericControl = New HtmlGenericControl("DIV")
            Dim LinkButton1 As New LinkButton()
            Dim LinkButton2 As New LinkButton()
            LinkButton1.Text = "EDITAR"
            LinkButton2.Text = "CANCELAR"
            gridpo.Attributes("runat") = "server"
            gridpo.Attributes("style") = "DISPLAY:none; Z-INDEX:101; POSITION:absolute; HEIGHT:38px"
            gridpo.Controls.Add(LinkButton1)
            gridpo.Controls.Add(LinkButton2)
            Celda.Controls.Add(gridpo)
            e.Row.Cells.Add(Celda)
                       
            AddHandler LinkButton1.Click, AddressOf LB1_Click()

Saludos y gracias por leer el mensaje...  :gracias:

.net

  • Miembro MUY activo
  • ***
  • Mensajes: 181
  • Nacionalidad: mx
    • Ver Perfil
Re:No capturo evento click de control dinamico
« Respuesta #1 en: Martes 23 de Agosto de 2011, 23:21 »
0
Lo que tienes que hacer es mandar sobreescribir el metodo o evento en el evento onLoad de la pagina web dentro de un postback true para que genere el evento del LinkButton

Checa el ejemplo:

public partial class Default : System.Web.UI.Page
{
    protected override void OnLoad(EventArgs e)
    {
        if (Page.IsPostBack == true)
        {
            CrearControl();   // Se sobreescribe el metodo y se crea el evento para que se realice
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        CrearControl();
    }

    private void CrearControl()
    {
        LinkButton lkb = new LinkButton();
        lkb.Text = "Prueba";
        lkb.Click += new EventHandler(lkb_Click);
        this.Page.Controls.Add(lkb);
    }

    void lkb_Click(object sender, EventArgs e)
    {
        //Haces lo que quieras
    }
}

espero te sirva.....
La lógica lleva a más lógica

Apoyo a un mundo OPEN SOURCE!!!

Eso si es el paraíso