formcollection ne contient que les valeurs sélectionnées des éléments html.listbox? MVC
Mon scénario est le suivant: j'ai deux listbox, celui qui contient tous mes éléments de base de données, et un vide. L'utilisateur ajoute les éléments nécessaires à partir de la pleine zone de liste pour le vide listbox.
Je suis en utilisant un formulaire pour soumettre tous les éléments que l'utilisateur a ajouté.
Le problème est que seulement les éléments sélectionnés de la liste sont soumis. Donc, si l'utilisateur désactive certains éléments, elles ne seront pas présentées dans le formulaire. Mon point de vue, ressemble à ceci:
<% using (Html.BeginForm("MyAction", "MyController"))
{ %>
<%= Html.ListBox("AddedItems", Model.Items)%>
<input type="submit" value="Submit" name="SubmitButton"/>
<% } %>
Mon Contrôleur ressemble à ceci:
public ActionResult MyAction(FormCollection formCollection)
{
var addedItems = formCollection["AddedItems"].Split(',');
//....more code that does stuff with the items
}
Vais-je à propos de tout dans le mauvais sens? Est-il meilleure façon de présenter les éléments? Que feriez-vous?
source d'informationauteur Darcy
Vous devez vous connecter pour publier un commentaire.
Je le fais ainsi, je pense que la façon dont je l'ai résolu est un peu plus élégante. En fait, j'ai juste une fonction Jquery qui s'exécute avant le post de formulaire qui permet de sélectionner toutes les options.
Parce que c'est juste selectbox. Vous ne pouvez pas poster toutes les valeurs dans selectbox. Vous devez utiliser javascript pour attraper les éléments ajoutés et les stocker dans la face cachée d'entrée.
Code non testé, mais je pense que cela vous aidera.
Pourquoi ne pas avoir la liste des éléments dans les cases à cocher.
Ensuite, vous pouvez parcourir les cases de votre action et de saisir toutes les cases sélectionnées.