2010-12-10 56 views
0

En supposant que je ne puisse pas modifier le fichier code-behind d'un site (c'est un site compilé), j'ai rencontré un de mes bogues qui peut uniquement être corrigé avec une recompilation complète et redéploiement. Malheureusement, nous sommes sur un calendrier de diffusion strict et nous ne pouvons pas déployer pour 11 jours supplémentaires. Le bug est que j'effectue une vérification sur une liste déroulante pour m'assurer que la valeur sélectionnée n'est pas "-1". Cependant, je n'ai pas utilisé drp.SelectedItem.Value, j'ai utilisé drp.Items [0] .Value. Total bonehead se déplace de ma part. La ligne du bas est que drp.Items [0] .Value est TOUJOURS -1, donc ils page donne une erreur à l'utilisateur en indiquant qu'ils ont besoin de choisir une option pour cette liste déroulante. Ce qu'ils ont vraiment, mais mon bug ne les laisse pas continuer dans ce processus.Modification de la valeur d'un DropDownList dans le client .Net côté

Parce que je suis un idiot. Donc, j'essaie de déterminer si je pourrais, côté client, remplacer la valeur du premier élément drp par la valeur réellement choisie de cette liste déroulante.

J'ai tout fait fonctionner côté client, mais lorsque le formulaire est publié, la valeur est toujours la valeur qui a été remplie à partir du code, ce qui signifie "-1".

Je suis sûr que c'est parce que le menu déroulant est chargé et toutes les valeurs sont conservées dans ViewState.

Quelqu'un peut-il penser à une solution conviviale .Net à cela? J'espère vraiment qu'il y en a un.

Répondre

0

Malheureusement, lorsque le navigateur effectue la publication, tous les contrôles sont recréés avec des valeurs par défaut, puis mettent à jour leurs valeurs à partir des valeurs viewstate et post. Et le contrôle DropDownList ne met pas à jour les valeurs ListItems d'une autre collection de valeurs. Si nous changeons la valeur de ListItem du côté client par javascript, au niveau du serveur notre contrôle contiendra des valeurs par défaut dans sa collection de ListItem, dans notre cas c'est -1. Meilleures salutations Dima.

+0

Merci Dima. J'avais peur de ça. –