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 Membre Dernière intervention 15 juillet 2011 37
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 Membre Dernière intervention 15 juillet 2011 37
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
Rejoignez-nous