2009-09-30 7 views
0

J'essaye d'ajouter une certaine logique de filtre à une base de données de document. La liste des listes sélectionnées varie selon le produit et la catégorie sélectionnés par l'utilisateur.asp.net mvc Liste des listes de sélection

/ProduitX/commercialisation aurait selectlista, selectlistb et selectlistc

tout

producty/commercialisation aurait selectlista, selectlistd et selectliste

Je me bats pour visualiser comment je peux y arriver . Ma première pensée était une vue unique qui itère sur une liste de "selectlists" et rend un html.dropdown pour chaque élément, mais je ne suis pas sûr de savoir comment créer cette liste de listes de sélection pour que la vue se répète. Si oui, quelle approche avez-vous finissez par vous créez une liste de sélection puis POPULATE ViewData à l'aide pour le résoudre

Répondre

0

la façon dont je généralement lié des listes de sélection de listes déroulantes est par le dictionnaire vidéotex:

ViewData["DropDownListName"] = yourSelectList; 
?.

Donc je ne pense pas que j'utiliserais une liste de SelectLists tout ce que vous pourriez si vous utilisez l'option 1 ci-dessous, mais le framework peut gérer la liaison pour vous, je pense que vous avez cependant quelques options

1. Créez toutes vos listes déroulantes dans la vue et transmettez toutes les listes de sélection à travers les données d'affichage, puis cachez-les ou affichez-les en fonction du produit sélectionné. Soit en utilisant asp.net si des instructions dans la vue ou en javascript si le produit est sélectionné en haut de la page et n'est donc pas connu lors de la création initiale de la page. Si votre produit est sélectionné en haut de la page avant les listes de sélection, vous pouvez utiliser un appel AJAX à une méthode d'action qui renvoie un JsonResult contenant les éléments de la liste déroulante et utiliser JQuery pour remplir votre liste déroulante liste de cette façon.

Questions connexes