2008-12-12 3 views
3

J'ai un formulaire dans lequel l'utilisateur peut choisir un type de composant à partir d'une liste déroulante, et en fonction de ce composant, ils peuvent ou ne peuvent pas choisir un type de données d'une autre zone de liste déroulante. Lorsque l'utilisateur sélectionne un type de composant, le javascript côté client déclenche la modification et définit, si nécessaire, la valeur de la zone de liste déroulante Type de données et désactive la zone de liste déroulante Type de données si nécessaire. Voici la chose étrange: quand ce formulaire soumet le côté serveur obtient la valeur de cette zone de liste déroulante de type de données et ce n'est pas ce que je l'ai mis à!ASP.NET Combo Box la valeur semble changer quand je le désactive en Javascript

je l'ai apparemment réduit à une ligne de javascript:

document.all("cmbDataType").disabled = true; 

Si cette ligne est commentée, il obtient toujours réglé sur la bonne valeur en fonction du type de composant, mais pas désactivé, et formulaire submit donne la valeur correcte au serveur en fonction de la valeur que le client choisit.

Si cette ligne s'exécute, alors même si l'utilisateur voit la valeur correcte dans cette zone de liste modifiable désactivée, la valeur renvoyée au serveur n'est pas correcte.

Je n'ai pas réussi à trouver quelqu'un d'autre avec le même problème, alors j'espère que ce n'est pas quelque chose de très bizarre. Le navigateur est IE7, webapp est ASP.NET 2.0. Merci d'avoir regardé!

Répondre

2

La raison pour laquelle cela se produit est qu'ASP.NET 2.0 ne soumet pas les valeurs des contrôles désactivés par défaut. (Plus précisément, il ne met pas à jour les valeurs de contrôle du serveur sur le post en arrière.) Vous pouvez remplacer que, en mettant la ligne suivante dans votre événement Page_Load:

Page.Form.SubmitDisabledControls = true; 

Ou vous pouvez définir la valeur dans la balise form:

<form id="myForm" runat="server" SubmitDisabledControls="true"> 
+0

Merci beaucoup! Je n'ai jamais connu cette friandise, et la définition de la valeur du tag de formulaire l'a tout de suite corrigée! – Coxy