2010-06-16 2 views
0

Travaillant sur du code .aspx.cs et décidé d'oublier comment transformer une valeur de zone de texte en un nombre entier ou décimal utilisable. Soyez prévenu que je suis assez nouveau pour .asp. Je voudrais pouvoir dire la même chose pour c sharp. Donc la valeur qui va dans ma zone de texte (strawberryp_textbox) est "1" et je suppose que je peux y accéder avec la propriété .text. Ce que je pars ensuite dans un int. L'erreur Reads Format Exception n'a pas été gérée par le code utilisateur.conversion, conversion et entrée à partir des contrôles de zone de texte

Mon autre question est: est-ce que je peux faire des opérations sur une variable de session?

protected void submit_order_button_Click(object sender, EventArgs e) 
{ 
    int strawberryp; 
    int strawberrys; 

    decimal money1 = decimal.Parse(moneybox1.Text); 
    decimal money2 = decimal.Parse(moneybox2.Text); 
    decimal money3 = decimal.Parse(moneybox3.Text); 
    decimal money4 = decimal.Parse(moneybox4.Text); 
    decimal money5 = decimal.Parse(moneybox5.Text); 

    strawberryp = int.Parse(strawberryp_Textbox.Text); //THE PROBLEM RIGHT HERE! 
    strawberrys = int.Parse(strawberrys_Textbox.Text); // Needs fixed 
    int strawberryc = int.Parse(strawberryc_Textbox.Text); //fix 
    int berryp = int.Parse(berryp_Textbox.Text); //fix 
    int raspberryp = int.Parse(raspberryp_Textbox.Text); /fix 
    decimal subtotal = (money1 * strawberryp) + (money2 * strawberrys) + (money3 * strawberryc) + (money4 * berryp) + (money5 * raspberryp); //check to see if you can multiply decimal and int to get a deciaml!! 


    Session["passmysubtotal"] = subtotal; //TextBox2.Text; 

    (strawberryp_Textbox.Text);//TextBox4.Text; 

    add_my_order_button.Enabled = true; 
    add_my_order_button.Visible = true; 
    submit_order_button.Enabled = false; 
    submit_order_button.Visible = false; 
    strawberryp_Textbox.ReadOnly = false; 
    strawberrys_Textbox.ReadOnly = false; 
    strawberryc_Textbox.ReadOnly = false; 
    berryp_Textbox.ReadOnly = false; 
    raspberryp_Textbox.ReadOnly = false; 
    Response.Redirect("reciept.aspx"); 
} 

Merci pour l'aide

Répondre

0

Affichez les résultats de la mise à Console.WriteLine(strawberryp_Textbox.Text); juste avant la ligne de votre code contenant le commentaire "THE PROBLEM ...". Si vous exécutez l'application sous le serveur Web Visual Studio (généralement en déboguant - appuyez sur F5), la sortie doit apparaître dans le volet Sortie de Visual Studio. Cela peut aider à vérifier que seul le caractère '1' est dans la propriété Text de cette zone de texte. De plus, il est recommandé d'utiliser TryParse plutôt que Parse pour mieux contrôler les réponses aux erreurs dans les valeurs attendues.

+0

trouvé erreur merci pour suggestion tryparse! – Matt