Ho visto problemi simili a questo e risposte ma nessuno sembra risolvere il problema.asp.net usercontrol non sparerà javascript all'interno updatepanel
Ho un controllo utente all'interno di un pannello di aggiornamento. All'interno del mio controllo utente emetto javascript.
Il javascript non si attiva quando viene attivato. Se sposto il javascript nella pagina padre al di fuori di usercontrol/updatepanels, viene attivato. Non ha senso farlo perché non posso usare questo usercontrol su un'altra pagina senza duplicare il codice ... duplicando l'intero javascript (sito diverso) o aggiungendo riferimenti a un file .js in ogni pagina utilizzata su (stesso sito). È solo meno portatile
Voglio semplicemente emettere il javascript con il controllo (all'interno del pannello di aggiornamento).
Il pannello di aggiornamento è menzionato per la precisione di ciò che sto facendo. Non funziona anche se metto l'usercontrol fuori dagli updatepanel.
mantenerlo semplice (Questo non funziona per me):
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>
GENITORE:
<uc1:_location runat="server" ID="_location" />
debug in cromo mi dice "ReferenceError Uncaught: test non è definito "
Se aggiungo il javascript direttamente a onclick come di seguito, i t works:
onclick="alert('Hello World!');"
E come detto sopra, lo spostamento della funzione nella pagina padre funziona ANCHE.
È come se il browser ignorasse l'output dello script dal controllo utente.
Qualche idea?
Il tuo codice funziona bene per me. – chamara
@chamara Questo codice non funzionerà se lo chiami e lo aggiorni da dentro un UpdatePanel. – Aristos