Desidero intercettare eventuali postback nella pagina corrente PRIMA di. Voglio fare alcune manipolazioni personalizzate prima che venga pubblicato un postback. Qualche idea su come farlo?Come intercettare qualsiasi postback in una pagina? - ASP.NET
risposta
C'è un paio di cose che puoi fare per intercettare un postback sul client.
La funzione __doPostBack assomiglia a questo:
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
noti che si chiama "theForm.onsubmit()" prima di poter realmente fare il postback. Ciò significa che se si assegna al modulo una funzione jsavascript onsubmit, verrà sempre chiamata prima di ogni postback.
<form id="form1" runat="server" onsubmit="return myFunction()">
In alternativa, si può effettivamente ignorare la funzione __doPostBack e sostituirlo con il proprio. Questo è un vecchio trucco che è stato utilizzato in ASP.Net 1.0 giorni.
Questo sostituisce la funzione __doPostBack con la propria, e puoi chiamare l'originale dal tuo nuovo.
Perfetto! Ha funzionato esattamente come voglio io. – NLV
Come può __doPostBack = myFunction(); lavoro? Non dovrebbe essere __doPostBack = myFunction ;? –
non sono sicuro, ma penso che siete alla ricerca di ..
if (Page.IsPostBack)
{
}
Voglio fare alcune manipolazioni prima che venga pubblicato un postback. Non dopo che il postback è successo. Spero che tu capisca – NLV
Page.IsPostBack è tuo amico.
Voglio fare alcune manipolazioni prima che venga pubblicato un postback. Non dopo che il postback è successo. Spero che tu capisca – NLV
È possibile verificare un postback in uno degli eventi della pagina per il modulo.
Se si desidera eseguire un'azione sul postback che implica la creazione di controlli o la modifica di viewstate, è possibile che si desideri eseguire un evento precedente come Page_Init.
Prova questo:
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:
}
}
}
Voglio fare alcune manipolazioni prima che venga pubblicato un postback. Non dopo che il postback è successo. Spero che tu capisca – NLV
Per ottenere il postback prima che una pagina fa, è possibile creare un HttpHandler e implementare la funzione ProcessRequest
.
Controllare this Scott Hanselman link per un buon post sul blog su come farlo (incluso il codice di esempio).
Grazie per il link. – NLV
Utilizzare le seguenti opzioni
Tutte le opzioni funziona con Ajax-enabled-forme e forme semplici.
restituisce false per annullare inviare entro qualsiasi gestore di invio.
Page.ClientScript.RegisterOnSubmitStatement(Page.GetType(), "submit-handler", "alert(\"On PostBack\");");
Equivalente javascript Don 't utilizzare questo codice con il codice precedente contemporaneamente
// 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>
E se si vuole il controllo completo su __doPostBack messo questo script accanto al tuo tag form
<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>
Testato con ASP.NET 4.0
- 1. Postback in asp.net
- 2. Come mantenere la posizione di scorrimento pagina dopo una pagina di postback in asp.net
- 3. Aggiorna la pagina dopo un'azione di postback in asp.net
- 4. La pagina ASP.Net inserisce la chiave che provoca il postback
- 5. Il modo migliore per intercettare un postback Button
- 6. ASP.NET - Controlback postback droplistlist programmato
- 7. dati Persistenza attraverso postback ASP.NET
- 8. Mantenere la posizione scroller sulla Div dopo pagina postback (ASP.NET)
- 9. Come intercettare 401 dall'autenticazione moduli in ASP.NET MVC?
- 10. Come fa una pagina di asp.net a sapere quale pulsante ha attivato un postback?
- 11. Come intercettare ogni richiesta AJAX da una pagina web
- 12. evento Javascript sulla pagina postback
- 13. Prevenire il postback duplicato in ASP.Net (C#)
- 14. I postback ASP.NET perdono l'hash nell'URL
- 15. sessionid di asp.net che cambia sui postback?
- 16. Postback asincrono e sincrono in ASP.NET
- 17. JQuery-Mobile e ASP.Net - AJAX o Postback?
- 18. Postback asincroni multipli allo stesso tempo - ASP.NET
- 19. ASP.Net MVC ModelState/Html.TextBox numero postback
- 20. TextBox causa il postback del pulsante in ASP.NET
- 21. Come impedire a UpdatePanel di causare il postback dell'intera pagina?
- 22. ASP.NET: Moving ViewState in fondo alla pagina
- 23. Come iniettare jquery in qualsiasi pagina web
- 24. ASP.net con C# Mantenere una lista sul postback
- 25. ASP.NET: evitare RequiredFieldValidator sul pulsante di navigazione postback
- 26. pulsante senza postback?
- 27. ResolveUrl senza una pagina ASP.NET
- 28. ASP.NET ha creato dinamicamente controlli e postback
- 29. ASP.net RequiredFieldValidator che non impedisce il postback
- 30. Differenza tra l'aggiornamento della pagina e il postback della pagina
Si prega di essere più specifico: cosa intendi per "prima del postback"? –
Nei tuoi requisiti dici di voler intercettare un postback * quando * si verifica, ma nei tuoi commenti ai rispondenti dici di volerlo intercettare * prima *. Quale vuoi? Vuoi farlo lato client o lato server? – slugster
Ci scusiamo per la confusione. Modificato la domanda per chiarire Voglio intercettarlo prima che si verifichi. Voglio farlo sul lato server. Tuttavia, potrei essere interessato a sapere come farlo anche dal lato client. – NLV