Ajouter deux valeurs en asp.net [Résolu]

Signaler
Messages postés
5
Date d'inscription
mercredi 2 août 2006
Statut
Membre
Dernière intervention
23 août 2006
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour à tous,

Je fais une petite appli ou j'enregistre en variables de sessions un chiffre comme ceci :

<%
Dim article, quantiteinitiale, quantiteajoutee, quantitetotale
article = request.params("id")
quantiteinitiale = Session.Contents(article)
quantiteajoutee = request.params("quant")
quantitetotale = quantiteinitiale + quantiteajoutee
Session(article) = quantitetotale
%>

Je defini mes variables, je récupère la valeur initiale et je veux ajouter la valeur d'un paramètre avant d'enregistrer toujours en variable de session la valeur finale.

Mais mon code pose problème sur l'ajout : il concatene les chiffres au lieu de les ajouter (1+1=11 au lieu de 2, à la Van d'Hamme)

Logiquement, cela vient soit du fait que je ne précise pas que mes variables sont des numériques ou de l'opérateur utilisé, mais moi je sais pas comment corriger.

Merci de me dépatouiller.

Ed

4 réponses

Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
re,

essaie

If Not Is Nothing Session(article) then
quantiteinitiale = Convert.ToInt64(Session(article))
else
quantiteinitiale = 0
end if
quantiteajoutee = request.params("quant")
quantitetotale = Convert.ToInt64(quantiteinitiale) + Convert.ToInt64(quantiteajoute)

yopyop
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour, c'est normal  !

ASP.net est typé !! or une variable session est un objet quand tu fais un + VB fait automatiquement un toString() donc tu concatenes 2 string ... pour corriger ca il faut absolument typé tes variables !!! c'est finit le VBScript si tu fais de l'asp.net !!!

dim article as string
dim qte1, qte2 as integer

qte1 = Ctype(session("truc"), integer)

et on utilise plus du code inline mais le code behind regarde viveement les infos sur cette page : http://www.microsoft.com/france/msdn/aspnet/coach.mspx qui t'expliquera les bases d'asp.net !

<hr />Cyril - MVS - MCP
Messages postés
5
Date d'inscription
mercredi 2 août 2006
Statut
Membre
Dernière intervention
23 août 2006

Merci à tous deux pour votre réponse.

En fait je passe en ce moment du stade autodidacte en HTML à autodidacte en ASP.Net.

Pas facile quand on n'a aucunes bases formelles, typage, classes, heritage, encapsulage,... donc pour le code behind, je m'y mettrai plus tard car je n'ai pour l'instant pour seul outil de développement que text pad 4.

Encore merci et à plus.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Visual Web Dev Express est gratuit et TRES bien :-)

Autant prendre les bonnes habitudes dés le debut !

<hr />Cyril - MVS - MCP