2010-06-16 15 views
0

处理一些.aspx.cs代码并决定我会忘记如何将文本框的值转换为可用的整数或小数。 被警告我对.asp很新。希望我可以对c sharp说同样的话。 因此,进入我的文本框(strawberryp_textbox)的值是“1”,我认为我可以通过.text属性访问它。然后我解析成int。错误读取格式异常未被用户代码处理。从文本框控件中投射,转换和输入

我的另一个问题是我可以对会话变量进行操作吗?

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"); 
} 

感谢您的帮助

回答

0

发布将Console.WriteLine(strawberryp_Textbox.Text);放在代码中出现“THE PROBLEM ...”注释的行之前的结果。如果您在Visual Studio Web服务器下运行应用程序(通常通过调试 - 点击F5),则输出应该显示在Visual Studio的“输出”窗格中。这可能有助于验证在该文本框的Text属性中只有单个字符“1”。

此外,最佳做法是使用TryParse代替Parse,以便您可以更仔细地控制对期望值中的错误的响应。

+0

发现错误谢谢tryparse建议! – Matt 2010-06-16 03:25:51

相关问题