none
DropDownList y CheckList persistente en un ModalPopupExtender (Ajax) RRS feed

  • Pregunta

  • Buenos dias.

    Tengo en un panel popup un combobox y un checkbox (entre otros controles), y lo que deseo es que cada vez que seleccione un valor de mi combobox el check box se habilite o deshabilite, es decir, el datatable desde donde lleno mi combobox tiene dos campos : periodo (char) y vigente (boolean) y quiero que en mi popup se maneje dicho boleano en el checkbox de acuerdo a la seleccion que haga en mi combobox.

    Cual seria la mejor manera de manejar este escenario?

    Saludos.



    martes, 9 de agosto de 2016 14:41

Respuestas

  • hola

    Pero el UpdatePanel debe estar dentro del Panel que representa el popup

    no es un updatePanel que englobe toda la pagina, sino que es concreto dentro del panel para que al darse el evento solo actualice esa seccion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Edwin Delgado martes, 9 de agosto de 2016 21:26
    martes, 9 de agosto de 2016 20:41

Todas las respuestas

  • hola

    Si el contenido del popup lo defines dentro de un UpdatePanel podrias usar el evento SelectedIndexChanged del combobox en un evento del lado del servidor que cambie la opcion del checkbox

    Información general sobre el control UpdatePanel

    recuerda que para que el evento del combo lance el evento al servidor debes asignar el AutoPostBack = true

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Edwin Delgado martes, 9 de agosto de 2016 17:25
    • Desmarcado como respuesta Edwin Delgado martes, 9 de agosto de 2016 19:50
    martes, 9 de agosto de 2016 17:02
  • Leandro, probe lo que indicas, pero tengo un problema.

    Tengo un updatepanel, dentro un popup oculto, y dentro del popup el combo al cual ya le asigne AutoPostBack="True"; este popup lo muestro desde codigo con Me.mpePeriodos.Show()
    Al momento de seleccionar un item del combo se ejecuta el codebehind y todo bien, pero luego de eso el popup se oculta, desaparece, es como si hubiera hecho click en el boton "Aceptar" o "Cancelar" del popup.
    Saludos.

    martes, 9 de agosto de 2016 20:03
  • hola

    Pero el UpdatePanel debe estar dentro del Panel que representa el popup

    no es un updatePanel que englobe toda la pagina, sino que es concreto dentro del panel para que al darse el evento solo actualice esa seccion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Edwin Delgado martes, 9 de agosto de 2016 21:26
    martes, 9 de agosto de 2016 20:41
  • Leandro, tenias razon, necesita un updatepanel para los controles especificos, yo tengo un updatepanel para un grid de la pantalla principal, de donde es llamado este popup.
    He puesto un segundo updatepanel y ahora ya no se oculta el popup...pero tampoco me realiza el cambio en los radiobotons...algo se me debe estar pasando, pero no encuentro el problema.

    Aca el html :

    <asp:UpdatePanel ID="upPeriodos" runat="server" >
    <ContentTemplate>
    
    <asp:DropDownList ID="CboPeriodoVig" runat="server" Width="100px" CssClass="bordeexpress" 
                                            AutoPostBack="True">
    </asp:DropDownList>
    
    <asp:RadioButton ID="OpcAbierto" runat="server" Text="Abierto" GroupName="OpcVigencia" />
    <asp:RadioButton ID="OpcCerrado" runat="server" Text="Cerrado" GroupName="OpcVigencia" Checked="True" />
    
    </ContentTemplate>
    </asp:UpdatePanel>
    

    Aca el codebehind :

    Protected Sub CboPeriodoVig_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboPeriodoVig.SelectedIndexChanged
    Dim dtPeriodoVig As DataTable = TryCast(Session("dtPeriodoVig"), DataTable)
            Try
                Dim foundRow As DataRow = dtPeriodoVig.Rows.Find(Me.CboPeriodoVig.SelectedValue)
                If foundRow IsNot Nothing Then
                    Me.OpcAbierto.Checked = foundRow("Vigente")
                End If
            Catch ex As Exception
                MensajeError = Funcion.FormateaMensaje(ex.Message)
                Server.Transfer("~/Mensajes.aspx?Mensaje=" & MensajeError)
            End Try
    End Sub
    
    Saludos.

    martes, 9 de agosto de 2016 21:05
  • ok, ya esta, el problema era que tambien tenia que actualizar el segundo boton.

    Me.OpcAbierto.Checked = foundRow("Vigente")
    Me.OpcCerrado.Checked = Not foundRow("Vigente")
    Gracias.
    martes, 9 de agosto de 2016 21:26