Ho un controllo ASP.Net che inietta una funzione javascript pageLoad
. Ho anche una funzione pageLoad
direttamente sulla pagina. Non riesco a farli sparare entrambi. Sei limitato a una sola funzione con lo stesso nome in javascript?ASP.Net AJAX multiple pageLoad funzioni possibili?
risposta
Sì ... Come la maggior parte delle lingue, JavaScript richiede che i simboli siano unici nell'ambito di applicazione. In JavaScript, se crei più definizioni per una funzione all'interno di un dato ambito, allora l'ultimo da definire "vince" - sarà come se le definizioni precedenti non fossero mai esistite.
È necessario utilizzare il metodo Sys.Application.add_load()
per eseguire la funzione ridondante pageLoad
. Usandolo, puoi collegare quanti più gestori desideri all'evento di caricamento della pagina. Inoltre, puoi utilizzare la funzione anonima per aggiungere il metodo add_load
. In questo modo ti garantirai che non vi è alcun pericolo per i gestori con nomi duplicati. Esempio:
StringBuilder sb = new StringBuilder();
sb.Append("Sys.Application.add_load(");
sb.Append("function() { alert('page load'); });");
ClientScript.RegisterStartupScript(this.GetType(), "Page_Load", sb.ToString(), true);
Si può facilmente utilizzare il Sys.Application.add_load
sul lato client, è possibile anche aggiungere lo stesso gestore più di una volta. Ciò comporterà l'attivazione della stessa funzione più volte :)
Non sono d'accordo con Shog9 ...
So che è possibile avere più $ (document) .ready (f (n)) chiama in un unico documento, ciascuno dei quali è chiamato a sua volta, quando il DOM finisce il caricamento. Non credo che più chiamate a ClientScript.RegisterStartupScript() causino problemi.
- 1. Qual è la differenza tra ASP.NET AJAX pageLoad() e JavaScript window.onload?
- 2. concatenazione multiple jQuery Ajax richiede
- 3. richieste ajax multiple con jquery
- 4. jQuery document.ready vs Pageload
- 5. History.js getState() a pageload
- 6. forme multiple in ASP.NET MVC
- 7. Multiple SearchRecentSuggestionsLe classi di prestatore nell'app per Android sono possibili?
- 8. Sys.Application.add_load() vs. $ (document) .ready() vs. pageLoad()
- 9. Chiamate ajax multiple allo stesso tempo
- 10. ReSharper suggerimento Page Load = PageLoad
- 11. Come aprire ModalDialog su PageLoad
- 12. Funzioni multiple con lo stesso nome
- 13. Funzioni differenziali multiple vs anonime differite
- 14. chiamate parallele multiple funzioni di bash
- 15. definizioni di funzioni multiple con template Haskell
- 16. Ajax con Asp.Net MVC?
- 17. ASP.NET MVC e AJAX
- 18. jQuery AJAX e ASP.NET
- 19. Rileva chiamata ajax, ASP.net
- 20. ASP.NET MVC Calendario AJAX
- 21. JQuery-Mobile e ASP.Net - AJAX o Postback?
- 22. ASP.NET AJAX vs jQuery in ASP.NET MVC
- 23. Come impostare selezioni multiple in ASP.NET ListBox?
- 24. Visualizzazioni multiple nella stessa pagina MVC ASP.NET
- 25. Le funzioni anonimi multi-area sono possibili in Erlang?
- 26. Le funzioni con caratteri forti sono parametri possibili in TypeScript?
- 27. Python: più valori possibili per gli argomenti delle funzioni
- 28. JQuery/WCF senza ASP.NET AJAX:
- 29. asp.net mvc disabilita cache ajax
- 30. ASP.net MVC AntiForgeryToken su AJAX
Josh, stai parlando di jQuery, che supporta l'associazione di più gestori a un singolo evento. Sta parlando dell'associazione automatica integrata di ASP.NET AJAX della funzione globale pageLoad. Mentre ASP.NET AJAX supporta anche il binding di gestori multipli per un singolo evento, ciò non cambia il fatto che la lingua sottostante non supporta più funzioni con lo stesso nome! – Shog9
ahh buon punto! L'ho perso nel post originale. Grazie per avermi corretto su questo –