none
Como usar varios UpdatePanel RRS feed

  • Pregunta

  • Tengo varios update panels, la idea es llenar los dropdownlist sin recargar la página pero están vinculados entre ellos. lo que me pasa es que se me ejecutan siempre y yo solo quiero que se ejecuten cuando yo quiero, controlandolo desde vb con la función panelupdateID.update() 

    Este es mi código que no funciona:

      <form id="form1" runat="server">
            <asp:ScriptManager runat="server" EnablePartialRendering="true" ID="updateManager"></asp:ScriptManager>
    
            <asp:Label ID="lbluser" runat="server" Text=""></asp:Label>
    
                    <asp:DropDownList ID="DDProvincia" runat="server" Width="246px" AutoPostBack="true">
                    </asp:DropDownList>
                
    
            <asp:UpdatePanel ID="paneldepartamento" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
    
                <ContentTemplate>
    
                    <asp:DropDownList ID="DDDepartamento" AutoPostBack="true" runat="server" Width="246px">
                    </asp:DropDownList>
    
                </ContentTemplate>
    
    
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="DDProvincia" EventName="SelectedIndexChanged" />
                </Triggers>
    
            </asp:UpdatePanel>
    
            <asp:UpdatePanel ID="panelcobertura" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
    
                <ContentTemplate>
    
                    <asp:DropDownList ID="DDCobertura" runat="server" Style="margin-bottom: 0px" Width="246px" AutoPostBack="true">
                    </asp:DropDownList>
                </ContentTemplate>
    
    
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="DDDepartamento" EventName="SelectedIndexChanged" />
                </Triggers>
    
    
            </asp:UpdatePanel>
    
            <asp:Button ID="btndepresion" runat="server" />
    
    
    
        </form>

    Y el código aspx.vb

     Public Sub llenarprovincias()
            Try
                conexion.Open()
            Catch ex As Exception
                MsgBox("No se pudo establecer la conexión con la base de datos")
            End Try
            query = ("SELECT DISTINCT Provincia FROM datos;")
            sqlcommand = New MySqlCommand(query, conexion)
            sqladapter = New MySqlDataAdapter(sqlcommand)
    
            ds = New DataSet()
            If Not ds.Tables("Provincia") Is Nothing Then
                ds.Tables("Provincia").Clear()
            End If
            sqladapter.Fill(ds, "Provincia")
            DDProvincia.DataSource = ds.Tables("Provincia")
            DDProvincia.DataTextField = "Provincia"
            DDProvincia.DataValueField = "Provincia"
    
            DDProvincia.DataBind()
    
            sqlcommand.Dispose()
            conexion.Close()
    
        End Sub
    
        Public Sub DDProvincia_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDProvincia.SelectedIndexChanged
    
            llenarDepartamento()
    
        End Sub
        Public Sub llenarCobertura()
            Try
                conexion.Open()
            Catch ex As Exception
                MsgBox("No se pudo establecer la conexión con la base de datos")
            End Try
            Dim provinciaseleccionada As String = Request.Form.Get("DDProvincia")
            Dim departamentoseleccionado As String = Request.Form.Get("DDDepartamento")
            query = "SELECT DISTINCT Cobertura FROM datos WHERE Provincia = '" & provinciaseleccionada & "' AND Departamento = '" & departamentoseleccionado & "';"
            sqlcommand = New MySqlCommand(query, conexion)
            sqladapter = New MySqlDataAdapter(sqlcommand)
            ds = New DataSet()
            If Not ds.Tables("Cobertura") Is Nothing Then
                ds.Tables("Cobertura").Clear()
            End If
            sqladapter.Fill(ds, "Cobertura")
            DDCobertura.DataSource = ds.Tables("Cobertura")
            DDCobertura.DataTextField = "Cobertura"
            DDCobertura.DataValueField = "Cobertura"
    
            DDCobertura.DataBind()
            sqlcommand.Dispose()
            conexion.Close()
    
    
        End Sub
        Public Sub llenarDepartamento()
            Try
                conexion.Open()
            Catch ex As Exception
                MsgBox("No se pudo establecer la conexión con la base de datos")
            End Try
            Dim provinciaseleccionada As String = Request.Form.Get("DDProvincia")
            query = "SELECT DISTINCT Departamento FROM datos WHERE Provincia = '" & provinciaseleccionada & "';"
            sqlcommand = New MySqlCommand(query, conexion)
            sqladapter = New MySqlDataAdapter(sqlcommand)
            ds = New DataSet()
            If Not ds.Tables("Departamento") Is Nothing Then
                ds.Tables("Departamento").Clear()
            End If
            sqladapter.Fill(ds, "Departamento")
            DDDepartamento.DataSource = ds.Tables("Departamento")
            DDDepartamento.DataTextField = "Departamento"
            DDDepartamento.DataValueField = "Departamento"
            DDDepartamento.DataBind()
            sqlcommand.Dispose()
            conexion.Close()
    
    
    
    
    
        End Sub
        Public Sub DDDepartamento_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDDepartamento.SelectedIndexChanged
            llenarCobertura()
    
    
        End Sub
    
        Protected Sub btndepresion_Click(sender As Object, e As EventArgs) Handles btndepresion.Click
            MsgBox("dp")
        End Sub

     
    jueves, 1 de septiembre de 2016 16:47

Respuestas