2010-08-18 20 views
1

Supposons que j'ai une liste de dîners. Cette liste présente les utilisateurs avec, l'emplacement, les données et d'autres informations pertinentes. Comme il y a beaucoup de gens qui assistent, je veux un bouton sur chaque dîner qui ouvre une boîte de dialogue jquery qui montrera les gens qui y assisteront.asp mvc: affiche les détails d'un objet sur un dialogue jquery

Ce que j'accomplis jusqu'à présent:

Sur chaque dîner sur la liste que j'ai l'étiquette suivante

<label class="falselink" id="<%= Html.Encode(item.Id) %>">show attendence</label> 

J'ai aussi ce script pour ouvrir la boîte de dialogue lorsque quelqu'un clique sur l'étiquette:

<script type="text/javascript"> 
$(function() { 
    $('#dialog').dialog({ 
     autoOpen: false, 
     title: 'Attendence', 
     modal: true 
    }); 


    $('.falselink').click(function() { 
     $('#dialog').dialog('open'); 
     return false; 
    }); 
}); 
</script> 

J'ai aussi la div suivante qui contient le dialogue

<div id="dialog" > 
    <% Html.RenderAction("DinnerAttendence", new { id = 3 }); %> 
</div> 

Si je suis l'URL http://localhost/Dinner/DinnerAttendence/3 cela fonctionne, En fait, si j'appuie sur le lien, il me montre la boîte de dialogue avec les gens assister à dîner 3.

Mon seul problème est de savoir comment je passe le dîner Id à RenderAction RouteValue?

Merci pour votre aide

Répondre

0

Je sais que cette question est vieux, mais je répondrai de toute façon.

Il semble que ce n'est pas possible avec RenderAction. Si vous avez besoin pour obtenir le dîner Id de javascript, vous aurez besoin de faire quelque chose sale accole l'identifiant dans un appel à la méthode de Url.Action:

 $.get('@(Url.Action("DinnerAttendence", "Dinners"))/' + dinnerId, 
function (data) { $("#dialog").append(data); }); 

Si quelqu'un connaît une meilleure façon que je J'adore en entendre parler.