2010-07-20 4 views
0

J'ai un contrôle qui étend l'objet ComboBox. Il met à jour l'élément sélectionné en fonction de ce que l'utilisateur entre la zone de texte.Combo Box Asp.net ayant un comportement indésirable

Dans l'événement OnLeave de la liste déroulante, l'index sélectionné est défini sur l'élément approprié. Toutefois, lors de l'accès à son index selected , il a retrouvé la valeur précédente . La valeur selectedindex est toujours derrière celle qu'il devrait être actuellement lorsqu'il est accédé en dehors de la combobox .

Toute aide serait grandement appréciée.

Je serais heureux de fournir le code et d'autres informations si cela aiderait à mieux décrire le problème.

+0

Peut-être un problème avec votre accès à la valeur dans la mauvaise partie de l'exécution de la page. Pouvez-vous préciser à quelle fonction il ressemble exactement, et quand cela semble mal? Par exemple. dans Page_Load il semble bien et dans PreRender il semble mal? – Timbo

Répondre

0

Déboguer et mettre une pause où vous définissez l'index sélectionné et celui où vous y accédez, je parierais de l'argent qu'il exécute le code acccessing FIRST puis le code de réglage. Postez votre code et nous pourrons peut-être vous proposer une solution.

+0

C'est ce que j'ai fait dans comboBox onLeave Event. override protégé override OnLeave (EventArgs e) {try {base.OnLeave (e); this.SelectedIndexChanged - = new EventHandler (CustomComboBox_SelectedIndexChanged); if (this.SelectedValue == null || this.SelectedValue! = _selectedValue) this.SelectedValue = _selectedValue; } catch (Exception ex) {string message = ex.Message; }} – Sandeep

Questions connexes