Problème conversion string --> integer

hugo7
Messages postés
352
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011
- 30 janv. 2009 à 19:40
hugo7
Messages postés
352
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011
- 31 janv. 2009 à 21:39
Bonjour voilà j'ai deux textbox.
Une contenant une chaîne de caractères qui est égale à un chiffre.
Ce que je voudrais c'est que le texte contenu dans la deuxième textbox soit égale au nombre chiffres ou nombres contenu dans la première en y ajoutant 1.
Pour cela il faut faire la conversion du type string au type integer.
J'ai essayer ce code :

 Dim tb4 As TextBox = FormView1.FindControl("sujet_idTextBox")
 Dim tbcompteur As TextBox = FormView2.FindControl("compteurTextBox")
        Dim s As String
        s = tbcompteur.Text
        Dim i As Integer
        i = CType(s, Integer)
        tb4.Text = i + 1

mais cela ne marche pas, j'ai l'erreur :
"La référence d'objet n'est pas définie à une instance d'un objet."

6 réponses

jesusonline
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
29
30 janv. 2009 à 21:11
Bonjour,

Si tu es sur que ton String est un nombre (via un validateur) alors tu peux faire un int.parse, sinon un int.tryparse (mais dans ce cas je te conseille fortement d'utiliser un validateur)

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
35
31 janv. 2009 à 00:05
Salut,

Tu dois avoir ta chaine ou ton composant non renseigné
pour avoir ce type de message

tbcompteur = null
ou
tbcompteur.Text = null

Apres un int.parse ou int.tryparse
une fois la validité checkée (javascript + serveur) controle de validation par exemple.

Bon dev
0
SuperBouly
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

31 janv. 2009 à 09:50
bonjour,
sur quelle ligne précisément  as-tu l'erreur?

SuperBouly
0
hugo7
Messages postés
352
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011

31 janv. 2009 à 18:30
L'erreur est sur la ligne  : s = tbcompteur.Text

Je vais ré expliquer ce que je veux faire :

J'ai deux textbox.
L'une contient un nombre qui provient d'une base de donnée ( int ).
Ce que je veux c'est que la deuxième soit égale au nombre de la première +1.
Il y a peux être une meilleur façon d'y arriver ?
D'avance merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
35
31 janv. 2009 à 19:56
regardes-tu la valeur de

if(tbcompteur != null){
if(tbcompteur.Text != null{
// c'est ok
}else{
Label1.Text = "tbcompteur.text est null";
//dans ce cas c'est text qui est = ""
}
}
else
{
Label1.Text = "tbcompteur est null";
//dans ce cas c'est FormView2.FindControl("compteurTextBox")
//qui ne trouve pas le controle compteurTextBox
}
0
hugo7
Messages postés
352
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
29 juin 2011

31 janv. 2009 à 21:39
Merci pour toute vos réponses j'ai regarder vos codes mais j'ai trouver une autre solution.
J'ai une dropdownlist qui contient mon nombre et après je fais ce code et sa marche :

 Dim tb4 As TextBox = FormView1.FindControl("sujet_idTextBox")
        tb4.Text = DropDownList2.SelectedValue + 1

Voila @+
0