none
PROBLEMAS UPDATE PANEL RRS feed

  • Pregunta

  • Estimados amigos del Foro desde ya muchas gracias por su valiosa ayuda......

    Tengo el siguiente problema.:

    Tengo una aplicacion  web, en uno de los werb form tengo varios dropdown que hacen postback, y varios gridview igual hacen postback.....

    Para evitar la pantalla blanca de hace postbck me dijeron que toda mi programacion la coloque dentro de un updatepanel de AJAX para evitar el cambio brusco de pantalla........ lo hice de esa forma coloque el codigo html de la pagina dentro del updatepanel de la siguiente forma

     

    PARTE INICIAL DE LA PROGRAMACION

    <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Cont_Diario.aspx.vb" Inherits="Cont_Diario" title="Diario Contable" EnableEventValidation="False" EnableSessionState ="true"%>

    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

     

    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    &nbsp;&nbsp;

    <aspTongue TiedcriptManager id="ScriptManager2" runat="server"></aspTongue TiedcriptManager>

     

    <asp:UpdatePanel id="UpdatePanel1" runat="server">

    <contenttemplate>

    <aspStick out tongueanel ID="panBoton" runat="server" Height="50px" Width="100%">

    .....

    ....

    .....

    ETC

    No tube ningun problema, no me dio ningun error al hacer esto:

    EL ERROR QUE ME PRESENTA ES CUANDO YO SELECCIONO UNO DE MIS DROPDOWN:

     

     

    ESTE ES EL ERROR:

    Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.

    Details: error parsing near ‘<script language=’ja’

    Para evitar este error me dijeron que ponga en el script del html  EnableEventValidation="False", pero igual, sigue el error, ....,

    En mi programacion tengo algo de java script que creo es lo que origina este error, pare evitar este error realice los siguiente al final del script del html puse un label de esta forma'

     

    </asp:Panel>

    <asp:Label ID="lblAlerta" runat="Server"></asp:Label>

    </contenttemplate>

    </asp:UpdatePanel>

    </asp:Content>

     

     

    y en mi programacion de la pagina tratde de cambiar el codigo javascript asi;

     

     

    Protected Shared Sub fnAlerta(ByVal mensaje As String)

    mensaje = "<script language='javascript'>" & Chr(10) & ""

    mensaje &= context.Response.Write("alert(""" + CorregirTxtJs(mensaje) + """)" & Chr(10) & "")

    mensaje &= context.Response.Write("</script>" & Chr(10) & "")

    lblAlerta.Text = mensaje

     

    'Dim context As System.Web.HttpContext = System.Web.HttpContext.Current

    'context.Response.Write("<script language='javascript'>" & Chr(10) & "")

    'context.Response.Write("alert(""" + CorregirTxtJs(mensaje) + """)" & Chr(10) & "")

    'context.Response.Write("</script>" & Chr(10) & "")

    End Sub

     

     

     

    pero ahi tengo un error y la verdad ya no se como arreglar esto:

    ESTE ES EL ERROR EN EL CODIGO

     

    No se puede hacer referencia a un miembro de instancia de una clase desde un método compartido o un inicializador de

    método compartido sin una instancia explícita de la clase

     

    LA PARTE COMENTADA ES EL JAVA SCRIPT QUE ESTABA DE FORMA ORIGINAL

     

    MUCHAS GRACIAS POR SU VALIOSA AYUDA....... POR FAVOR DIGANME COMO SOLUCIONAR ESTOS PROBLEMAS

    viernes, 16 de mayo de 2008 16:45

Todas las respuestas

  • Hola... no sé si te solucionaré algo, pero yo cuando quiero escribir algo de JavaScript en la página, y tengo un updatePanel, lo que tengo que hacer es registrar ese trozo de javascript en el scriptmanager: RegisterStartupScript.

     

    Por ejemplo: tengo la función ScriptAbrirVentanaEmergente, que me devuelve un script de javascript... y luego tengo AbrirVentanaEmergente, que me registra ese script en el scriptmanager.

     

    Private Shared Function ScriptAbrirVentanaEmergente(ByVal pstrForm As String, _

    ByVal pintAlto As Integer, _

    ByVal pintAncho As Integer, _

    ByVal pintPosArriba As Integer, _

    ByVal pintPosIzquierda As Integer, _

    ByVal pbolBarraScroll As Boolean, _

    ByVal pbolBarraMenu As Boolean, _

    ByVal pbolBarraDirecciones As Boolean, _

    ByVal pbolRedimensionable As Boolean) As String

    Dim strScript As New StringBuilder

    Dim strBarraScroll As String

    Dim strBarraMenu As String

    Dim strBarraDirecciones As String

    Dim strRedimensionable As String

    If pbolBarraScroll Then

    strBarraScroll = "yes"

    Else

    strBarraScroll = "no"

    End If

    If pbolBarraMenu Then

    strBarraMenu = "yes"

    Else

    strBarraMenu = "no"

    End If

    If pbolBarraDirecciones Then

    strBarraDirecciones = "yes"

    Else

    strBarraDirecciones = "no"

    End If

    If pbolRedimensionable Then

    strRedimensionable = "yes"

    Else

    strRedimensionable = "no"

    End If

    With strScript

    .Append("<script language='javascript' type='text/javascript'>")

    .Append("var ventana_busqueda;")

    .Append("var ventana_busqueda=window.open('" + pstrForm & "','Busqueda'" + _

    ",'width=" + pintAncho.ToString + _

    ",height=" + pintAlto.ToString + _

    ",top=" + pintPosArriba.ToString + _

    ",left=" + pintPosIzquierda.ToString + _

    ",scrollbars=" + strBarraScroll + _

    ",menubar=" + strBarraMenu + _

    ",location=" + strBarraDirecciones + _

    ",resizable=" + strRedimensionable + "');")

    '.Append("ventana_busqueda.location.reload();")

    .Append("ventana_busqueda.focus();")

    .Append("</script>")

    End With

    Return strScript.ToString

    End Function

     

    Public Overloads Shared Sub AbrirVentanaEmergente(ByVal pobjFrmPagina As UI.Page, _

    ByVal pobjUpdatePanel As UI.UpdatePanel, _

    ByVal pstrForm As String, _

    ByVal pintAlto As Integer, _

    ByVal pintAncho As Integer, _

    ByVal pintPosArriba As Integer, _

    ByVal pintPosIzquierda As Integer, _

    ByVal pbolBarraScroll As Boolean, _

    ByVal pbolBarraMenu As Boolean, _

    ByVal pbolBarraDirecciones As Boolean, _

    ByVal pbolRedimensionable As Boolean)

    Dim strScript As String

    strScript = ScriptAbrirVentanaEmergente(pstrForm, _

    pintAlto, pintAncho, _

    pintPosArriba, pintPosIzquierda, _

    pbolBarraScroll, pbolBarraMenu, _

    pbolBarraDirecciones, pbolRedimensionable)

     

    If pobjFrmPagina IsNot Nothing AndAlso pobjUpdatePanel IsNot Nothing Then

    ScriptManager.RegisterStartupScript(pobjUpdatePanel, pobjFrmPagina.GetType(), "AbrirVentana", strScript, False)

    End If

    End Sub

    jueves, 22 de mayo de 2008 8:10
  • Buenas No se si te será de ayuda, pero a mi esto me ha funcionado despues de mucho googlear

    por ejemplo en el evento click de un boton

    Code Snippet

     

    Dim scriptStr As String = "alert('venga mensaje');"

    ScriptManager.RegisterStartupScript(Me, Me.GetType, "test", scriptStr, True)

     

     

    ya contaras si te sirvió, o como lo solucionaste

     

    un saludo

    • Propuesto como respuesta Alfonso_Gomeez viernes, 6 de agosto de 2010 21:28
    martes, 27 de mayo de 2008 11:25
  • Muchísimas gracias viejo, me sacaste de un gran problema
    miércoles, 11 de junio de 2008 16:03