从文本框控件转换,转换和输入

时间:2010-06-16 02:23:51

标签: c# asp.net

处理一些.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");
}

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

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

此外,最佳做法是使用TryParse而不是Parse,这样您就可以更谨慎地控制对预期值中的错误的响应。