Mam kontrolkę ASP.Net, która wstrzykuje funkcję javascript pageLoad
. Mam również funkcję pageLoad
bezpośrednio na stronie. Nie mogę sprawić, by oboje strzelali. Czy ograniczasz się tylko do jednej funkcji o tej samej nazwie w javascript?ASP.Net AJAX multiple pageLoad functions possible?
Odpowiedz
Tak ... Podobnie jak w przypadku większości języków, JavaScript wymaga, aby symbole były niepowtarzalne w swoim zakresie. W JavaScript, jeśli tworzysz wiele definicji dla funkcji w danym zakresie, to ostatni, który ma być zdefiniowany "wygrywa" - będzie tak, jakby poprzednie definicje nigdy nie istniały.
Aby można było wykonać funkcję redundantną pageLoad
, należy użyć metody Sys.Application.add_load()
. Używając go, możesz dołączyć dowolną liczbę procedur obsługi do zdarzenia ładowania strony. Co więcej, możesz użyć anonimowej funkcji do dodania w metodzie add_load
. Dzięki temu zagwarantujesz, że nie ma niebezpieczeństwa dla osób obsługujących duplikaty nazw. Przykład:
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);
jak łatwo można użyć Sys.Application.add_load
po stronie klienta, można nawet dodać ten sam obsługi więcej niż jeden raz. Spowoduje to wypalenie tej samej funkcji wiele razy :)
muszę się nie zgodzić z Shog9 ...
wiem, że to możliwe, aby mieć wiele $ (document) .ready (f (n)) wywołuje w jednym dokumencie, z których każdy jest zwany z kolei, gdy DOM kończy ładowanie. Nie wierzę, że wiele wywołań do ClientScript.RegisterStartupScript() również powoduje problemy.
- 1. ASP.NET Web API multiple RoutePrefix
- 2. Multiple paginacja z Kaminari poprzez Ajax
- 3. History.js getState() na pageload
- 4. Multiple & Cookie subdomenę w Tożsamości asp.net podstawowej
- 5. Jak otworzyć ModalDialog na PageLoad
- 6. Ajax z Asp.Net MVC?
- 7. ASP.NET MVC i AJAX
- 8. JQuery-Mobile i ASP.Net - AJAX lub odświeżenie?
- 9. Javascript multiple script src
- 10. powershell max/first/aggregate functions
- 11. Google Cloud Functions umożliwiają CORS?
- 12. Niestandardowe JavaScript Ajax dla ASP.NET
- 13. Asp.net mvc fileupload przez ajax
- 14. asp.net mvc disable ajax cache
- 15. ASP.net MVC AntiForgeryToken przez AJAX
- 16. Actionscript: image to base64 string possible?
- 17. Git commit not possible. Brak gotowych plików
- 18. Widok mobilny zmniejsza się po pageload
- 19. ASP.NET MVC Multiple URL do tego samego działania
- 20. JavaScript Self Executing Functions - Jaka jest różnica?
- 21. Anonymous vs Non Anonymous functions Lua
- 22. Jak zmienić pozycję asp.net ajax ValidatorCalloutExtender
- 23. ASP.NET: problem z danymi jQuery AJAX 'data'
- 24. Najlepsza alternatywa rozwiązanie dla ASP.NET AJAX UpdatePanel
- 25. ASP.NET AJAX Format kalendarza data extender
- 26. Asp.net MVC Ajax Json (po Array)
- 27. jquery ajax z asp.net nie działa
- 28. ASP.NET jQuery Ajax Calling Code-Behind Metoda
- 29. AjaxControlToolkit wymaga ASP.NET AJAX 4.0 skrypty
- 30. Formularz ASP.Net MVC Ajax z walidacją jQuery
Josh, mówisz o jQuery, która obsługuje wiązanie wielu procedur obsługi do jednego zdarzenia. Mówi o wbudowanym automatycznym wiązaniu ASP.NET AJAX globalnej funkcji pageLoad. A ASP.NET AJAX obsługuje również wiele programów do obsługi pojedynczego zdarzenia, co nie zmienia faktu, że język bazowy nie obsługuje wielu funkcji o tej samej nazwie! – Shog9
ahh dobry punkt! Brakowało mi tego w oryginalnym poście. Dzięki za poprawienie mnie w tym –