Domanda

Sto avendo un piccolo problema con questa configurazione qui ho un elenco di file .ascx e fanno tutti i diversi compiti in termini di calcoli al controller stesso. Quindi, sulla mia pagina di .aspx clicco su un Ajax.ActionLink() e questo renderò quel file specifico onclick basato sulla voce ho cliccato. All'interno di tale onload sono di 1-3 eventi che Fire 2 di loro sono onclick="$("#toggleMe3").slideToggle("slow");" eventi e 1 è $(document).ready(function(){});. L'evento onprerender (s) sono più facili da lavorare in termini di I può hardcode direttamente in caso controlli in questo modo <=> e la <=> deve eseguire quando la <=> viene caricato stavo testando questo in un <=> chiamata, questo funziona bene nel <=> pagina, ma non appena provo aggiungendolo nella <=> pagina non caricare e il suo ideale che questo funziona, ma non ho idea perché non. In realtà nulla nei tag di script funziona se inserisco direttamente nella pagina <=> funzionano solo se hardcoded in eventi del controllo, così alcuni di loro almeno; il <=> e <=> Non sparare.

È stato utile?

Soluzione

Ho avuto lo stesso problema, dopo che lo script postback parziale specificato nel $ (document) .ready non è stato eseguito. Ho trovato la soluzione qui MSDN - PageRequestManager Classe

Sembra che l'aggiunta di uno script come di seguito risolve il problema

<script type="text/javascript">
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myReadyFunction);
</script>

Altri suggerimenti

Ho avuto successo utilizzando $ (document) .ready nei miei parziali che vengono caricati tramite XHR. Sono i punti di vista che si carica tramite XHR gettando le eccezioni JavaScript? O non contengono HTML malformato?

Io di solito ho il mio $ (document) Metodo .ready in fondo alla mia parziale, che si carica tramite Ajax, come ...

<script type="text/javascript">
$(document).ready(function(){ callMyFunction(); });
</script>

Ho avuto un momento difficile capire la tua domanda ... ma qui va.

Se si sta caricando data utilizzando chiamate AJAX, l'evento $ (document) .ready () non sarà il fuoco - perché la pagina è stata già caricato. Si sono appena caricando più dati ora.

Se si conosce già i controlli che cosa sarà inserito, pre-caricare il JavaScript, ma invece di legame con il gestore di eventi click, utilizzare il gestore dal vivo.

così

$("#myControl").click(....);

si trasforma in

 $("#myControl").live("click", ....);

Scusate se questo non è quello che stavate cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top