2010-11-11 6 views
0

J'utilise un Assistant dans ma page ASP.NET, où dans la première étape, l'utilisateur choisit à partir d'un DropDownList, combien de jeux de contrôles apparaîtra dans l'étape suivante de l'assistant (de 1-5).Un moyen plus efficace de le faire? (Boîtes de texte ASP.NET)

Par exemple, dans la 2ème étape de l'assistant, il y a 3 zones de texte. S'ils choisissent 2 sur l'écran précédent, il y en aura 6 car il y en aura 2 ensembles.

Je dois être en mesure de stocker le contenu de tous ces champs de saisie dans une base de données (partie simple, je pense, il y a 5 colonnes et tout peut être nul.

La manière facile de faire cela, je pense est tout simplement créer tous les contrôles possibles (5 sets), et en les cachant en fonction de ce qu'ils choisissent dans l'écran précédent. Est-il plus efficace/moyen plus simple?

Merci

Répondre

1

Cela dépend vraiment de votre définition efficace/plus facile.
Une approche plus standard consisterait à utiliser un repeater control pour afficher le nombre correct de contrôles en fonction de l'entrée précédente. Cependant, si vous n'avez pas utilisé un contrôle de répéteur avant d'avoir un certain degré d'apprentissage impliqué dans l'affichage de votre sortie et la récupération de l'entrée de l'utilisateur pendant la publication.

0

Si vous absol Sachez que 5 boîtes est le maximum, et il est hautement improbable qu'il y aurait jamais plus que cela, en utilisant Control.Visible sur les contrôles du serveur et leurs éléments d'interface tels que label ou quoi que ce soit d'autre, fonctionnerait ... mais ..

C'est un peu fragile d'une solution, cependant; Vous obliger à apporter des modifications de code manuellement dans quelques endroits si vous décidez d'ajouter plus de cases possibles.

Une solution dynamique vous permet de définir un nombre maximum d'options dans config, ou juste un seul endroit dans le code. Il faudrait probablement que vous changiez un peu la structure de votre base de données, mais ce serait probablement mieux pour la normalisation, de toute façon. Cela implique aussi de générer dynamiquement les éléments dans l'étape de l'assistant.

(Plus d'informations sur cette option peut être obtenue si on le souhaite!)

Questions connexes