2010-06-20 2 views
2

Je joue avec la fonctionnalité AJAX en utilisant ASP.NET MVC. J'ai créé une page avec un menu de catégories générées à partir d'une base de données qui, lorsqu'elle est cliquée, envoie une requête AJAX à un contrôleur, puis un contrôleur renvoie une vue partielle. La galerie div contient un certain nombre d'images. Au premier chargement, chaque image est stockée dans une base de données. J'ai utilisé lightbox un plugin JQuery donc quand une vignette est cliquée, elle agrandit et un utilisateur peut cliquer sur les images. Lorsque la vue partielle est renvoyée, le gestionnaire d'événements lightbox n'est plus lié. Est-il possible de déclencher d'une manière ou d'une autre une fonction Javascript pour relancer le gestionnaire après la fin de la requête M $ AJAX?Rebobinage des gestionnaires d'événements JQuery après MicrosoftAjax renvoie une vue partielle

Cela fait partie d'une série de projets que j'ai l'intention d'entreprendre pour apprendre à faire des choses sympas avec AJAX dans ASP.NET MVC. J'ai l'intention de publier le code sur mon site Web une fois complet afin que d'autres puissent apprendre comme j'ai. J'ai tendance à trouver qu'il y a tellement d'exemples avec JQuery -> PHP -> MySQL la pile open source. Mais très peu avec ASP.NET MVC.

Merci,

Jon

Répondre

1

L'une des propriétés AjaxOptions est une propriété OnSuccess qui appellera un code JavaScript après une requête AJAX réussie. Définissez sa valeur sur le nom d'une fonction JavaScript qui utilise ensuite jQuery pour activer le script LightBox.

new AjaxOptions { UpdateTargetId = "gallery", OnSuccess="ActivateLightBox" }) 

Et un script:

<script ...> 
    function ActivateLightBox() { 
     $(function() { 
      $('#gallery a').lightBox(); 
     }); 
    } 
</script> 
+0

Vous êtes une source de connaissances Eilon! Merci encore pour votre aide! –

0

Vous avez deux options. Vous pouvez soit ajouter ce javascript à la vue de la galerie, afin qu'il soit exécuté lorsque la vue partielle est chargée, soit que les meilleures solutions soient celles que @Eilon vient d'utiliser.

+0

J'ai essayé d'inclure un script dans la Vue partielle mais il ne s'exécute pas lorsqu'il est chargé. J'ai lu un article écrit par Phil Haack et il dit que le Framework n'exécute pas le script quand un partiel est renvoyé dans une requête AJAX. Son article disait utiliser JQuery .live() mais je n'arrivais pas à le faire fonctionner. La solution d'Eilon fonctionne et est très simple. Merci, Jon –

Questions connexes