Widziałem podobne problemy z tym i odpowiedzi, ale nie wydaje się, aby rozwiązać problem.Program asp.net usercontrol nie uruchamia javascript wewnątrz updatepanel
Mam kontrolę użytkownika w panelu aktualizacji. Wewnątrz mojej kontroli użytkownika wyprowadzam javascript.
Po uruchomieniu javascript nie uruchomi się. Jeśli przeniesię javascript na stronę nadrzędną poza kontrolką usercontrol/updatepanels, uruchomi się. Nie ma to sensu, ponieważ nie mogę użyć tej kontroli użytkownika na innej stronie bez duplikowania kodu ... przez powielenie całego javascript (innej strony) lub dodanie odniesień do pliku .js na każdej stronie, z której jest on używany na (tej samej stronie). Jest po prostu mniej przenośny
Po prostu chcę wypisać javascript za pomocą kontrolki (w panelu aktualizacji).
Aktualizacja jest wymieniona z dokładnością tego, co robię. To nie działa, nawet jeśli umieszczę kontrolę użytkownika poza aktualizacjami.
Utrzymanie to proste (to nie działa dla mnie):
UserControl:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="_location.ascx.cs" Inherits="_location" %>
<script type="text/javascript">
function test() {
alert('Hello World!');
}
</script>
<a href="javascript:void(0);" onclick="javascript:test();">
Find For Me
</a>
nadrzędny:
<uc1:_location runat="server" ID="_location" />
debugowanie w chromie mówi mi „Uncaught ReferenceError: test nie jest zdefiniowano "
Jeśli dodaję javascript bezpośrednio do onclick, jak poniżej, to t działa:
onclick="alert('Hello World!');"
Jak wspomniano powyżej, przeniesienie funkcji do strony nadrzędnej działa również.
To tak, jakby przeglądarka ignorowała wyniki skryptu z formantu użytkownika.
Wszelkie pomysły?
Twój kod działa dobrze dla mnie. – chamara
@chamara Ten kod nie zadziała, jeśli zadzwonisz i zaktualizujesz go z poziomu panelu UpdatePanel. – Aristos