miércoles, 16 de septiembre de 2009

Sys.WebForms.PageRequestManagerParserErrorException

Hace aproximadamente cuatro meses inicie un proyecto utilizando el framework Visual Studio .NET 2005. En el proyecto necesitaba utilizar tecnología AJAX con ASP.NET, y para evitar el constante parpadeo de las páginas web me vi en la necesidad de utilizar los famosos UpdatePanel. Todo parecía estar bien hasta que al llenar un DataGrid (que está dentro de un UpdatePanel) me empezó a mostrar un error como el que se muestra en la figura.

Estuve aguantándome el error mucho tiempo, hasta que me canse y me propuse solucionarlo. Si tú tienes el mismo error y haz probado de todo, a continuación te comento como solucionarlo.

1. Agregar el ScriptManagemenr en la página ASP así:

<asp:ScriptManager

ID="ScriptManager1"

runat="Server"

EnableScriptGlobalization="true"

EnableScriptLocalization="true"

AsyncPostBackTimeout="2500" />

2. Agregar un Trigger al UpdatePanel para sincronizar el objeto que genera el postback con el UpdatePanel, en mi caso es un botón.

<Triggers>

<asp:AsyncPostBackTrigger

ControlID="cmdGenerar"

EventName="Click" />

< /Triggers>

3. Agregar el siguiente código JavaScript en la página ASP:

<script type="text/javascript" language="javascript" >

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

function EndRequestHandler(sender, args)

{

if (args.get_error() != undefined)

{

args.set_errorHandled(true);

location.reload(true);

}

}

< /script>

Asi fue como pude solucionar el problema, espero que a ustedes tambien les sirva.