2011-07-18 5 views
0

J'ai une vue dans MVC3, qui a beaucoup de cases à cocher. L'utilisateur coche une ou plusieurs cases à cocher et clique sur soumettre. Sur submit, je voudrais afficher les valeurs des cases cochées dans une vue partielle ou une vue.Afficher les valeurs de case à cocher sélectionnées dans MVC3

<table> 
    <tr><td> @Html.Label("Label1")</td><td> @Html.CheckBox("CB1")</td></tr> 
    <tr><td> @Html.Label("Label2")</td><td> @Html.CheckBox("CB2")</td></tr> 
    <tr><td> @Html.Label("Label3")</td><td> @Html.CheckBox("CB3")</td></tr> 
</table> 
@Html.ActionLink("Submit", "SubmitCB") 

action Controller:

public ActionResult SubmitCB() 
    { 
     @foreach (var checked in ?) 
     { 
      //Display checked only here...    
     } 
    } 

je me demande comment je peux parcourir et afficher les résultats dans une vue partielle ou d'une vue. Merci de votre aide.

Répondre

1

Vous devez modifier votre action pour autoriser la liaison au formulaire soumis. En outre, vous devez soumettre le formulaire correctement (je suggère l'envelopper dans une balise de formulaire et en utilisant un bouton d'envoi par opposition à un lien d'action Mais voici ce que votre action ressemblerait à ceci:.

public ActionResult SubmitCB(bool CB1, bool CB2, bool CB3) 
{ 
    ... // use CB1, CB2, and CB3 here 
} 

Si vous Si vous souhaitez que ces cases à cocher soient dans une liste, vous devez leur donner le même nom et des valeurs différentes, puis vous pouvez faire en sorte que votre action prenne quelque chose comme SubmitCB(string[] CBs) et regardez les valeurs de ce tableau (elles seront les valeurs de les cases à cocher sélectionnées)

+0

Si j'ai beaucoup plus de cases à cocher que 3, comment dois-je gérer cela .. difficile d'avoir autant de cases à cocher que de paramètres – ZVenue

+0

Utilisez la deuxième méthode Toutes vos cases à cocher doivent avoir le même nom et différen t Ids. Je choisis généralement de ne pas utiliser l'assistant Html.CheckBox pour cela car c'est un peu bête à ce sujet. Mais c'est ton choix. Vérifiez simplement la liste de contrôle de SO pour MVC 3: http://stackoverflow.com/questions/2067786/asp-net-mvc-checkbox-group – Milimetric

Questions connexes