Ajouter deux valeurs en asp.net

Résolu
Boukachaka Messages postés 5 Date d'inscription mercredi 2 août 2006 Statut Membre Dernière intervention 23 août 2006 - 23 août 2006 à 12:51
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 23 août 2006 à 19:30
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

cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
23 août 2006 à 13:31
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
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 août 2006 à 14:16
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
3
Boukachaka Messages postés 5 Date d'inscription mercredi 2 août 2006 Statut Membre Dernière intervention 23 août 2006
23 août 2006 à 14:20
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.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 août 2006 à 19:30
Visual Web Dev Express est gratuit et TRES bien :-)

Autant prendre les bonnes habitudes dés le debut !

<hr />Cyril - MVS - MCP
0
Rejoignez-nous