none
Ayuda con botones dinámicos en ASP.NET C# RRS feed

  • Pregunta

  • Estimados:

    En una aplicación web creo un arreglo de botones en tiempo de ejecución numerados del 1 al 20 por ejemplo. Al dar clic a cualquier botón se cambia de color, pero el problema va así:

    1. Doy clic en el botón 2 y cambia de color.

    2. Doy clic en el boton 1 y cambia de color.

    3. Doy clic en cualquier otro botón, este si cambia de color pero el botón 1 se vuelve a quitar su color.

    Como puedo controlar que todos los botones mantengan su estado cuando doy clic. Como sería el uso del ViewState en botones dinámicos. Estoy con ese problema. Publico mi código, no incluye el viewstate.

                    pnlAsientos.Controls.Clear();
                    for (int i = 0; i < 4; i++)
                    {
                        for (int j = 0; j < 5; j++)
                        {
                            Button boton = new Button();

                            boton.ForeColor = Color.Black;
                            boton.Click += new EventHandler(boton_clic_asiento);
                            boton.BorderColor = Color.Black;
                            boton.Width = 30;
                            boton.Height = 30;
                            boton.Text = dFila[0][1].ToString();
                            boton.ViewStateMode = System.Web.UI.ViewStateMode.Inherit;
                            boton.CausesValidation = true;
                            boton.ClientIDMode = System.Web.UI.ClientIDMode.Inherit;
                            boton.Enabled = true;
                            boton.EnableTheming = true;
                            boton.EnableViewState = true;
                            boton.UseSubmitBehavior = true;
                            boton.ValidateRequestMode = System.Web.UI.ValidateRequestMode.Inherit;
                            pnlAsientos.Controls.Add(boton);
                        }
                        pnlAsientos.Controls.Add(new LiteralControl("<br />"));
                    }

    //EVENTO CLIC DEL BOTON DE ASIENTO
            void boton_clic_asiento(object sender, EventArgs e)
            {
                try
                {
                    Button botonSeleccionado = sender as Button;
                    botonSeleccionado.BackColor = Color.Lime;
                }

                catch (Exception ex)
                {
                    
                }
            }

    Agradezco su ayuda.

    lunes, 13 de enero de 2020 20:25

Todas las respuestas