Reemplazar __doPostBack

En ocasiones, cuando escribimos nuestras aplicaciones ASP.Net necesitamos realizar acciones antes de que se invoque el PostBack - por ejemplo, deshabilitar los botones del WebForm.

Navegando por ahí - no puedo citar la fuente porque no la recuerdo - encontre este truco que reemplaza a la funcion __doPostBack de ASP.Net, permitiendonos modificar el comportamiento y añadir nueva funcionalidad.

El código de la función es el siguiente:

 <script language="javascript" type="text/javascript">
 // Almacenamos una referencia a la funcion __doPostBack original.
 var __oldDoPostBack = __doPostBack;
 // Reemplazamos la funcion __doPostBack con otra de la misma firma.
 // Cuando ASP.NET llame a __doPostBack en realidad llamara a la nueva
// función.
 __doPostBack = FormSubmitEvent;
 function FormSubmitEvent (eventTarget, eventArgument)
 {
  disableButtons(); 
  return __oldDoPostBack (eventTarget, eventArgument);
 }
</script>

, donde disableButtons es una función que deshabilita los botones.

Recordar que este código solo se ejecutará cuando el Postback sea provocado por un control de servidor. Si queremos controlar los envios producidos por botones de tipo submit debemos suscribirnos al evento OnSubmit del formulario html.

Nota: El evento OnSubmit solo se dispara con un botón de tipo submit, y no con a través de JavaScript con una invocación al método submit del formulario.

Saludos, DJK.

Pedro  Herrarte  Sánchez
Reemplazar __doPostBack
Pedro Herrarte Sánchez

Pedro Herrarte, es consultor independiente, ofreciendo servicios de consultoría, análisis, desarrollo y formación. Posee mas de diez años de experiencia trabajando para las principales empresas de España. Es especialista en tecnologías .NET, entornos Web (ASP.NET, ASP.NET MVC,jQuery, HTML5), bases de datos (SQL Server y ORACLE) e integración de sistemas. Es experto en desarrollo (C#, VB.Net, T-SQL, PL/SQL, , ASP, CGI , C, Pro*C, Java, Essbase, Vignette, PowerBuilder y Visual Basic ...) y bases de datos (SQL Server y ORACLE). Pedro es MCP y MAP 2012, es fundador, diseñador y programador de www.devjoker.com..
Fecha de alta:15/09/2008
Última actualizacion:15/09/2008
Visitas totales:5807
Valorar el contenido:
Últimas consultas realizadas en los foros
Últimas preguntas sin contestar en los foros de devjoker.com