aspkiddy
Messages postés39Date d'inscriptionjeudi 9 juin 2011StatutMembreDernière intervention15 janvier 2014
-
1 mai 2012 à 20:10
aspkiddy
Messages postés39Date d'inscriptionjeudi 9 juin 2011StatutMembreDernière intervention15 janvier 2014
-
2 mai 2012 à 22:58
Bonjour,
J'ai un formulaire où j'affiche le prix de fruits...
Il y a une exception pour seulement Orange [frOrange]
Je veux ajouter une option : selon la couleur d'orange, je vais changer le prix.
Il y a deux couleurs : [ORANGE] ou [VERT]
Pour les autres fruits il n'y a qu'une option c'est [VERT]
Les utilisateurs choisissent le fruit [fp.BoiteStruct.GenreId] dans l'écran précédent [fruit_page]
et dans la page actuelle
Ils tapent leurs couleurs s'il veut dans un champ [couleurChoixTextBox] avec la valeur de ce champ on définit la couleur de notre fruit [couleurId]
S'il ne tape pas correctement [ORANGE] c'est automatiquement en Vert (je sais c'est un peu bizarre, mais c'est la vie).
Alors pour cela j'utilise un switch imbriqué
En suite j'affecte la nouvelle variable [CouleurFruit] par la valeur de mon champ [couleurChoixTextBox] pour utiliser dans un autre écran...
Voici le code que je pense à utiliser :
private void LoadControls()
{
object voirCeQueCestPageState = Session["VisionnerCeQueCestPage"];
fruit_page.VisionnerCeQueCestPageState fp = (fruit_page.VisionnerCeQueCestPageState)voirCeQueCestPageState;
// bouton action comemnt faire
// protected void Validate_CodePromotion(object sender, System.EventArgs e)
string couleurId;
switch (fp.BoiteStruct.GenreId)
{
case "frOrange":
switch (couleurChoixTextBox.Text)
{
case "ORANGE":
couleurId = "ORANGE";
break;
default:
couleurId = "VERT";
break;
}
break;
default:
couleurId = "VERT";
break;
}
CalculStruct calculStruct = (CalculStruct)promotion.GetPromotion(fp.BoiteStruct.GenreId + couleurId);
//avec GetPromotion je vais calculer le prix
SavePageState();
}
private void SetPageState()
{
//affecter la variable pour l'écran suivant
reservationOrangePageState.CouleurFruit = couleurChoixTextBox.Text;
SavePageState();
}
public struct ReservationPageState
{
//affecter la variable pour l'écran suivant
public string CouleurFruit;
}
Alors mon question comment je peux recuperer la valeur de mon champs ? par quelle moyen ? je vais faire une bouton (?) :
Mais comment je peux intégrer cette action [protected void Valider_couleur(object sender, System.EventArgs e)] à l'intérieur de [ private void LoadControls()] ?
A voir également:
En restant dans le même écran comment peut on récupérer la valeur d'un champ
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 2 mai 2012 à 10:48
Apparemment, c'est un problème d'ASP.net, je déplace donc ce message vers le forum approprié.
Je ne suis pas un pro de l'ASP.net, mais je vois 3 solutions (classées de la pire à la meilleure, si on se concentre sur les performances) :
- Faire un rechargement de la page lors du changement de la couleur, avec un autopostback à true si la couleur se trouve dans une . Ainsi, dans l'événement attaché au OnChange de ta dropdownlist, tu pourras récupérer la valeur de celle-ci :
((DropDownList)sender).SelectedItem
et modifier la valeur du prix (que tu affiches, par exemple, via un ).
- Même chose que la première solution, en utilisant de l'ASP.net AJAX. Ainsi, toute la page n'aura pas besoin de se recharger lorsque tu changeras la couleur.
- Passer par du javascript.
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -