Pregunta

Estoy teniendo un pequeño problema con esta configuración aquí tengo una lista de .ascx los archivos y todos ellos hacen diferentes tareas en términos de los cálculos para el controlador de sí mismo.Así que en mi .aspx página hago clic en un Ajax.ActionLink() y esto hace que se concreta la .ascx archivo basado en el artículo que me ha hecho clic.Dentro de ese .ascx de 1 a 3 eventos que se activan 2 de ellos son onclick eventos y 1 es onload.El onclick evento(s) son más fáciles de trabajar en términos de lo que puedo codificar directamente en los controles evento como así onclick="$("#toggleMe3").slideToggle("slow");" y el onload se debe ejecutar cuando el .ascx se carga estuve probando esta en un $(document).ready(function(){}); llamada, esto funciona bien en el .aspx la página, pero tan pronto como intente agregando que en el .aspx la página no se carga y su ideal de que esto funciona, pero no tengo idea de por qué no.En realidad, nada en las etiquetas de script funciona si puedo insertar directamente en el .ascx la página sólo funcionan si son codificados en el control de eventos, algunos de ellos por lo menos;el onload y onprerender no fuego.

¿Fue útil?

Solución

Yo tenía el mismo problema, después de la escritura de devolución parcial especifica en $ (document) ready no se ha ejecutado. He encontrado la solución aquí MSDN - PageRequestManager Clase

Parece que la adición de una secuencia de comandos, como a continuación se soluciona el problema

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

Otros consejos

He tenido éxito en el uso ready (documento) $ en mis parciales que se cargan a través de XHR. Son los puntos de vista que va a cargar a través de XHR lanzar excepciones de JavaScript? ¿O es que contienen incorrecto HTML?

Me suelen tener mi $ (document) Método ready en la parte inferior de mi parcial que me carga a través de Ajax, como ...

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

Yo tenía dificultades para entender su pregunta ... pero aquí va.

Si está cargando fecha con llamadas AJAX, no se disparará el evento $ (document) ready () - debido a que la página se ha cargado. Usted se acaba de cargar más datos ahora.

Si ya conoce los controles de lo que va a apear, pre-cargar el código JavaScript, pero en lugar de la unión usando el controlador de eventos click, utiliza el manejador vivo.

so

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

se convierte en

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

Lo siento si esto no es lo que estabas buscando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top