Disons que j'ai trois contrôles DropDownList
dans un contrôle utilisateur Web et qu'ils dépendent les uns des autres.Obtenir la valeur de contrôle à partir du contrôle utilisateur Web
- Catégories
- Marques
- Produits
Explication: Après avoir choisi une catégorie dans les catégories de la liste déroulante, les marques associées sont chargées dans les marques DropDownList
et même chose se produit lorsque je choisis spécifique Marque et ils sont tous situés dans un contrôle d'utilisateur Web car je l'utilise trop sur des pages différentes, je ne veux pas copier et coller le même code sur toutes les pages.
Problème: Les pages peuvent contenir un contrôle GridView
et DataSource
qui a besoin d'un paramètre supplémentaire Where
pour récupérer toutes les données nécessaires et ce paramètre pourrait dépendre de produit sélectionné dans le contrôle des produits DropDownList
.
Question: Alors, comment puis-je obtenir que sélectionné Valeur de produits de produits DropDownList pour se lier à SQLDataSource
ou tout autre contrôle DataSource
.
Mes pensées: Je crois que je peux résoudre ce problème de la façon suivante.
- Je peux utiliser une variable statique qui est mise à jour une fois les produits sélectionnés. Cette variable de champ peut être publique afin que tout le monde puisse l'atteindre.
- Produits sélectionnés DropDownList peut créer un champ QueryString pour graper la valeur sélectionnée.
- De la même manière, la liste déroulante peut créer une variable de session à la volée et je peux récupérer la valeur
- Il peut peut-être créer un champ masqué.
Mais: Eh bien ce sont quelques-unes de mes pensées, mais je les ai trouvés si naïf à mettre en œuvre. J'ai besoin de quelque chose d'élégant et satisfaisant pour résoudre ce problème. Cela devrait ressembler à une passerelle entre le contrôle de l'utilisateur Web et le monde extérieur. Peut-être qu'une classe séparée ou une propriété peut m'aider dans la solution de passerelle.
De toute façon, j'attends vos réponses.