2010-08-17 9 views
1

J'ai une liste non-ordonnée qui clique sur un élément, il affiche plusieurs images en utilisant le plugin JavaScript Fancybox. J'essaye de convertir ceci en ASP.NET MVC 2 et je veux passer dynamiquement les chemins d'image et le titre etc. au JavaScript de sorte qu'ils ne soient pas codés en dur.ASP.NET MVC 2 & JavaScript dynamique

HTML

<ul> 
    <li><a href="DisplayImages();" title="Images"> Show Images</a></li> 
    </ul> 

Javascript

function DisplayImages() { 

    $.fancybox([ 
{ 'href': 'Image Path goes here', 'title': 'Image Title goes here' }, 
{ 'href': 'Another Image path goes here', 'title': 'Another image title' } 
], { 
    'padding': 0, 
    'transitionIn': 'none', 
    'transitionOut': 'none', 
    'type': 'image', 
    'changeFade': 0 

}) 
}; 

Est-ce possible de le faire? Toute aide est très appréciée

Merci

Répondre

0

Si je comprends bien, vous cherchez peut-être ceci:

function DisplayImages() { 
    $.fancybox([ 
    { 'href': '<%= Model.ImagePath %>', 
     'title': '<%= Model.ImageTitle %>' }, 
    { 'href': '<%= Model.AnotherImagePath %>', 
     'title': '<%= Model.AnotherImageTitle %>' }], 
    {'padding': 0 //yada yada}  
    }) 
}; 

En supposant que vous écrivez ce code en mode ASPX/ascx, il intégrera des données du côté serveur directement au rendu html de la même manière que 'echo' fait en PHP.

Le modèle est un objet que vous passerez voir du contrôleur.

Voici how-to par Stephen Walther.


Si votre problème est en fait pas beaucoup sur l'intégration des données de côté serveur, mais qui passe plusieurs chemins d'image et des titres à plugins comme argument, vous pourriez vouloir vérifier comment JSON serialization (< --Que est seulement un moyen d'accomplir cela) fonctionne. Je très probablement créer htmlHelper qui sérialise passé l'objet et l'utiliser comme ceci:

$.fancybox([<%= Html.ToJSON(Model.Images)%>], 
    {'padding': 0 //yada yada}  
}) 
+0

@Barry donc - ce qui est exactement votre problème? ce qui a aidé? :) –