2008-09-23 5 views
0

Je n'utilise pas actuellement ajax.net même si je serais ouvert si c'est la seule solution. J'ai un contrôle auto-complet à l'écran que j'utilise pour remplir une liste déroulante asp.net avec des valeurs via javascript (jQuery). J'ai dû utiliser EnableEventValidation = "false" pour l'autoriser. Après avoir ajouté mes options à la sélection et que le formulaire est affiché, j'aimerais pouvoir obtenir toutes les valeurs pour les éléments d'option que j'ai ajoutés à la liste déroulante asp.net via javascript. Y a-t-il un bon moyen d'y parvenir? ?Comment utiliser javascript avec un contrôle asp.net dropdownlist?

Répondre

3

Si un DropDownList quitte le serveur sans options, il est recréé côté serveur avec aucune option (du viewstate)

Vous pouvez ajouter les options à un contrôle HTML masqué comme une chaîne délimitée dans votre javascript, quant à la liste de sélection. Puis itérer dans le contrôle une fois côté serveur sur post-retour. Sinon, vous pouvez les ajouter au serveur et ré-afficher le DropDownList uniquement pour chaque ajout.

+0

J'essayais d'éviter d'utiliser un champ caché, mais si c'est le seul moyen .. – Greg

+0

J'ai essayé beaucoup de choses, et sans utiliser la bibliothèque "Ajax" d'ASP.NET, je pense que la solution de HollyStyles est la un seul disponible. Je ressens pourtant votre douleur. – roosteronacid

1

Vous pouvez obtenir la valeur sélectionnée directement à partir de la forme comme ceci:

string fooBar = Request.Form[SomeDropDown.UniqueID]; 

Ceci renvoie la valeur correcte, peu importe ce que vous faites pour la liste déroulante des options. J'utilise javascript pour modifier la liste déroulante de quantité d'un produit en fonction de la taille choisie pour refléter la disponibilité des produits.

+0

Cela fonctionne vraiment. Merci! –

Questions connexes