Foros del Web » Programando para Internet » ASPX (.net) »

error con los tiggers de un UpdatePanel

Estas en el tema de error con los tiggers de un UpdatePanel en el foro de ASPX (.net) en Foros del Web. Estoy haciendo una pagina asp en visual basic 2005 Esta pagina segun le pasas unos parametros crea x updatepanel, que creo asi: Código: Public Shared ...
  #1 (permalink)  
Antiguo 05/08/2009, 08:44
Avatar de lunita87  
Fecha de Ingreso: junio-2009
Ubicación: Zaragoza
Mensajes: 19
Antigüedad: 14 años, 9 meses
Puntos: 0
error con los tiggers de un UpdatePanel

Estoy haciendo una pagina asp en visual basic 2005

Esta pagina segun le pasas unos parametros crea x updatepanel, que creo asi:
Código:
Public Shared Function generateFileConfirmado(ByVal field As Field) As System.Web.UI.Control
        Dim ctr As System.Web.UI.Control = New System.Web.UI.Control()
        ctr.ID = "field_ctr_" & field.id

        Dim UpdatePanel1 As UpdatePanel = New UpdatePanel()
        UpdatePanel1.ID = "field_UpdatePanel_" & field.id

        Dim CheckBox1 As CheckBox = New CheckBox()
        CheckBox1.ID = "field_CheckBox_" & field.id
        CheckBox1.AutoPostBack = True
        'CheckBox1.Sorted = True
        CheckBox1.CssClass = "CheckBoxField"

        AddHandler CheckBox1.CheckedChanged, AddressOf LibraryTramitesCiudadano.CheckBox1_CheckedChanged

        Dim FileUpload1 As FileUpload = New FileUpload()
        FileUpload1.ID = "field_" & field.id
        FileUpload1.CssClass = "FileUploadField"

        Dim UpLoadFileConfirmado As LinkButton = New LinkButton()
        UpLoadFileConfirmado.ID = "field_UpLoad_" & field.id
        UpLoadFileConfirmado.Text = "Subir"
        AddHandler UpLoadFileConfirmado.Click, AddressOf LibraryTramitesCiudadano.UpLoadFileConfirmado_click

        Dim DownloadFileConfirmado As HyperLink = New HyperLink()
        DownloadFileConfirmado.ID = "field_Download_" & field.id
        DownloadFileConfirmado.Text = "Descargar"
        DownloadFileConfirmado.Target = "_ablank"
        DownloadFileConfirmado.CssClass = "HyperLinkField"

        Dim Espacio As Label = New Label()
        Espacio.ID = "field_Espacio_" & field.id
        Espacio.Text = "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp"

        Dim DeleteFileConfirmado As LinkButton = New LinkButton()
        DeleteFileConfirmado.ID = "field_Delete_" & field.id
        DeleteFileConfirmado.Text = "Eliminar"
        AddHandler DeleteFileConfirmado.Click, AddressOf LibraryTramitesCiudadano.DeleteFileConfirmado_click

        If field.defaultValue <> "" And field.defaultValue <> "[UNDEFINED]" And field.defaultValue <> "Sin Documento" And field.defaultValue <> "False" Then
            'tiene algo
            CheckBox1.Checked = True
            CheckBox1.Enabled = False
            FileUpload1.Visible = False
            UpLoadFileConfirmado.Visible = False
            DownloadFileConfirmado.NavigateUrl = "~/viewdoc.aspx?dID=" & field.defaultValue
        Else
            'no tiene nada
            FileUpload1.Enabled = False
            UpLoadFileConfirmado.Visible = False 'UpLoadFileConfirmado.Enabled = False
            DownloadFileConfirmado.Visible = False
            Espacio.Visible = False
            DeleteFileConfirmado.Visible = False
        End If

        Dim AsyncPostBackTrigger1 As AsyncPostBackTrigger = New AsyncPostBackTrigger()
        AsyncPostBackTrigger1.ControlID = "field_CheckBox_" & field.id
        AsyncPostBackTrigger1.EventName = "CheckedChanged"

        Dim PostBackTrigger2 As PostBackTrigger = New PostBackTrigger()
        PostBackTrigger2.ControlID = "field_UpLoad_" & field.id
        PostBackTrigger2.EventName = "Click"

        Dim AsyncPostBackTrigger3 As AsyncPostBackTrigger = New AsyncPostBackTrigger()
        AsyncPostBackTrigger3.ControlID = "field_Delete_" & field.id
        AsyncPostBackTrigger3.EventName = "Click"

        UpdatePanel1.ContentTemplateContainer.Controls.Add(CheckBox1)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(FileUpload1)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(UpLoadFileConfirmado)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(DownloadFileConfirmado)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(Espacio)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(DeleteFileConfirmado)

        UpdatePanel1.Triggers.Add(AsyncPostBackTrigger1)
        UpdatePanel1.Triggers.Add(PostBackTrigger2)
        UpdatePanel1.Triggers.Add(AsyncPostBackTrigger3)

        ctr.Controls.Add(UpdatePanel1)

        Return ctr
    End Function


    Protected Shared Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim chk As CheckBox = sender
        Dim fu As FileUpload = sender.Parent.FindControl("field_" & sender.ID.Replace("field_CheckBox_", ""))
        Dim bo As LinkButton = sender.Parent.FindControl("field_UpLoad_" & sender.ID.Replace("field_CheckBox_", ""))

        If chk.Checked = True Then
            fu.Enabled = True
            bo.Enabled = True
        Else
            fu.Enabled = False
            bo.Enabled = False
        End If
    End Sub


    Protected Shared Sub UpLoadFileConfirmado_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim bo As LinkButton = sender
        Dim fu As FileUpload = sender.Parent.FindControl("field_" & sender.ID.Replace("field_UpLoad_", ""))

        If fu.HasFile = True Then
            Dim documento As Valor = New Valor()
            documento.idField = sender.ID.Replace("field_UpLoad_", "")

            Dim Cadena As String
            Cadena = sender.page.ClientQueryString
            Cadena = Cadena.Replace("dId=", "")
            Cadena = Cadena.Replace("&p=Consultoria", "")
            Dim did As Integer
            did = CInt(Cadena)
            Dim expe As Expediente = New Expediente()
            expe = Expediente.getExpedienteWithDid(did)

            documento.idExpediente = expe.id
            documento.ctr = fu

            documento.update()
            Dim fie As Field = New Field()
            fie = Field.getField(documento.idField)

            documento = Valor.getValor(expe, fie)
            'Cambiamos el control
            Dim chk As CheckBox = sender.Parent.FindControl("field_CheckBox_" & sender.ID.Replace("field_UpLoad_", ""))
            Dim hl As HyperLink = sender.Parent.FindControl("field_Download_" & sender.ID.Replace("field_UpLoad_", ""))
            Dim de As LinkButton = sender.Parent.FindControl("field_Delete_" & sender.ID.Replace("field_UpLoad_", ""))
            Dim es As Label = sender.Parent.FindControl("field_Espacio_" & sender.ID.Replace("field_UpLoad_", ""))

            chk.Enabled = False
            fu.Visible = False
            bo.Visible = False
            chk.Checked = True

            hl.Visible = True
            hl.NavigateUrl = "~/viewdoc.aspx?dID=" & documento.valor
            es.Visible = True
            de.Visible = True

        End If

    End Sub


    Protected Shared Sub DeleteFileConfirmado_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim de As LinkButton = sender
        Dim hl As HyperLink = sender.Parent.FindControl("field_Download_" & sender.ID.Replace("field_Delete_", ""))

        Dim documento As Valor = New Valor()

        Dim Cadena As String
        Cadena = sender.page.ClientQueryString
        Cadena = Cadena.Replace("dId=", "")
        Cadena = Cadena.Replace("&p=Consultoria", "")
        Dim did As Integer
        did = CInt(Cadena)
        Dim expe As Expediente = New Expediente()
        expe = Expediente.getExpedienteWithDid(did)

        documento.idExpediente = expe.id
        documento.idField = sender.ID.Replace("field_Delete_", "")

        documento.delete()

        'Cambiamos el control

        Dim chk As CheckBox = sender.Parent.FindControl("field_CheckBox_" & sender.ID.Replace("field_Delete_", ""))
        Dim fu As FileUpload = sender.Parent.FindControl("field_" & sender.ID.Replace("field_Delete_", ""))
        Dim bo As LinkButton = sender.Parent.FindControl("field_UpLoad_" & sender.ID.Replace("field_Delete_", ""))
        Dim es As Label = sender.Parent.FindControl("field_Espacio_" & sender.ID.Replace("field_Delete_", ""))

        chk.Enabled = True
        chk.Checked = False
        fu.Visible = True
        fu.Enabled = False
        bo.Visible = True

        hl.Visible = False
        es.Visible = False
        de.Visible = False

    End Sub
Este codigo lo uso en dos proyectos diferentes, y tengo varios problemas:

Proyecto 1:
-Cuando hago click en el check me activa y desactiva el FileUpload, pero si en alguno hay algo elejido lo borra al recargar la pagina (cosa que no quiero que haga)
-Cuando hago click en el boton subir o en eliminar, sube o elimina correctamente, y recarga el panelupload pero me recarga la pagina

Proyecto 2:
-Al tener activado en el check el AutoPostBack me carga la pagina y me da fallo al recargar, pero si lo pongo a False no me hace nada, no quiero que recargue la pagina pero quiero que valla!!!
(Este proyecto tiene el boton subir invisible y no tiene opcion de poder descargar o eliminar)

Cualquier duda avisar, ya se que me explico mal :P

Gracias por la ayuda que me podais dar

Última edición por lunita87; 10/08/2009 a las 08:25
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:19.