Quiero interceptar las devoluciones de datos en la página actual ANTES se produce. Quiero hacer algo de manipulación personalizada antes de que se sirva una devolución de datos. Alguna idea de como hacer eso?¿Cómo se intercepta una devolución de datos en una página? - ASP.NET
Respuesta
Hay un par de cosas que puede hacer para interceptar una devolución de datos en el cliente.
La función __doPostBack se ve así:
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
en cuenta que se llama "theForm.onsubmit()" antes de hacerlo la devolución de datos. Esto significa que si asigna a su formulario una función onsubmit javascript, siempre se llamará antes de cada devolución de datos.
<form id="form1" runat="server" onsubmit="return myFunction()">
Alternativamente, usted puede reemplazar la función __doPostBack y sustituirlo por el suyo propio. Este es un viejo truco que se usó en ASP.Net 1.0 días.
var __original= __doPostBack;
__doPostBack = myFunction();
Esto reemplaza la función __doPostBack con la suya, y puede llamar al original de la nueva.
¡Perfecto! Trabajé exactamente de la manera que quiero. – NLV
¿Cómo puede __doPostBack = myFunction(); ¿trabajo? ¿No debería ser __doPostBack = myFunction? –
no estoy seguro, pero creo que busca ..
if (Page.IsPostBack)
{
}
Quiero hacer algunas manipulaciones antes de que se sirva una devolución de datos. No después de que la devolución de datos haya sucedido. Espero que lo entiendas – NLV
Page.IsPostBack es su amigo.
Quiero hacer algunas manipulaciones antes de que se sirva una devolución de datos. No después de que la devolución de datos haya sucedido. Espero que lo entiendas – NLV
Puede verificar una devolución de datos en uno de los eventos de página para su formulario.
Si desea realizar alguna acción en la devolución de datos que implique la creación de controles o la manipulación de viewstate, es posible que desee entrar en un evento anterior como Page_Init.
Prueba esto:
protected void Page_Init(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
//Check for your conditions here,
if (Page.IsAsync)
{
//also you may want to handle Async callbacks too:
}
}
}
Quiero hacer algunas manipulaciones antes de que se sirva una devolución de datos. No después de que la devolución de datos haya sucedido. Espero que lo entiendas – NLV
Para obtener la devolución de datos antes de una página hace, puede crear un HttpHandler e implementar la función ProcessRequest
.
Compruebe this Scott Hanselman link para una buena publicación de blog sobre cómo hacerlo (incluido el código de muestra).
Gracias por el enlace. – NLV
Use las siguientes opciones
Todas las opciones trabaja con ajax habilitado formas y formas simples.
return false para cancelar enviar dentro de cualquier manejador de envío.
Page.ClientScript.RegisterOnSubmitStatement(Page.GetType(), "submit-handler", "alert(\"On PostBack\");");
Javascript Equivalente --No utilizar este código con el código anterior simultáneamente
// Modify your form tag like this
<form onsubmit="javascript:return submit_handler();" ...>
// Add this script tag within head tag
<script type="text/javascript">
function submit_handler() {
// your javascript codes
// return false to cancel
return true; // it's really important to return true if you don't want to cancel
}
</script>
Y si quieres un control completo sobre __doPostBack puso este guión junto a su etiqueta de forma
<script type="text/javascript">
var default__doPostBack;
default__doPostBack = __doPostBack;
__doPostBack = function (eventTarget, eventArgument) {
// your javascript codes
alert('Bye __doPostBack');
default__doPostBack.call(this, eventTarget, eventArgument);
}
</script>
Probado con ASP.NET 4.0
- 1. ¿Cómo sabe una página de asp.net qué botón desencadenó una devolución de datos?
- 2. Actualizar la página después de una acción de devolución de datos en asp.net
- 3. Use javascript para determinar si una página ASP.NET es una devolución de datos
- 4. Cómo mantener la página de posición de desplazamiento después de una devolución de datos en asp.net página
- 5. ¿Qué es una devolución de datos?
- 6. Forzar una devolución de datos
- 7. desplazador de Div tras página devolución de datos (ASP.NET)
- 8. ¿Cómo evitar una devolución de datos en JavaScript?
- 9. ASP.NET AJAX Toolkit - CalendarExtender se restablece en devolución de datos
- 10. Cómo forzar el botón hacer una devolución de datos completa en lugar de una devolución de datos asincrónica
- 11. Rellenar una tabla en una página ASP.NET
- 12. ¿Cómo puedo detectar si mi página es el resultado de una devolución de datos?
- 13. Cómo comprobar si la página es una devolución de datos dentro de la función reservada pageLoad en ASP.NET AJAX
- 14. Asp.Net (vb) Forzar devolución de datos en código subyacente
- 15. Cómo ejecutar una función de javascript antes de la devolución de datos del botón asp.net
- 16. ¿Cómo desplazarse al final de la página cuando finaliza la devolución de datos en asp.net?
- 17. Una página base en ASP.NET
- 18. Cómo puedo evitar que una devolución de datos actualice la página en el cliente
- 19. ¿Cómo ejecutar una función de javascript antes de la devolución de datos del botón asp.net?
- 20. ¿Encuesta la base de datos desde una página web? - ASP.NET
- 21. ¿Cómo tener una devolución de llamada javascript ejecutada después de una devolución de datos del panel de actualización?
- 22. Devolución de todas las imágenes en una página de Wikipedia
- 23. ¿Cómo puedo determinar si una solicitud es el resultado de una devolución de datos?
- 24. Cómo evitar "Response.Redirect no se puede llamar en una devolución de llamada de página"
- 25. ¿Cómo saber si estoy en una devolución de datos?
- 26. Prevenir una devolución de datos aparezcan en la Historia
- 27. ResolveUrl sin una página ASP.NET
- 28. botón sin devolución de datos?
- 29. aplicación de Facebook en una pestaña de página - Cómo obtener una devolución de llamada URL
- 30. ¿Cómo puede un rastreador web Perl seguir una devolución de datos de ASP.NET?
Sea más específico: ¿qué quiere decir con "antes de la devolución de datos"? –
Usted dice en sus requisitos que quiere interceptar una devolución de datos * cuando * ocurre, pero en sus comentarios a los contestadores dice que quiere interceptarlo * antes *. ¿Cuál quieres? ¿Quieres hacerlo del lado del cliente o del servidor? – slugster
Perdón por la confusión. Editó la pregunta para dejarlo en claro. Quiero interceptarlo antes de que ocurra. Quiero hacerlo en el lado del servidor. Sin embargo, también me puede interesar saber cómo hacerlo en el lado del cliente. – NLV