C# 文本框控件的强制转换、转换和输入

C# 文本框控件的强制转换、转换和输入,c#,asp.net,C#,Asp.net,正在处理一些.aspx.cs代码,我决定忘记如何将文本框值转换为可用的整数或小数。 请注意,我对.asp相当陌生。但愿我能对c夏普说同样的话。 因此进入我的文本框(strawberryp_textbox)的值是“1”,我认为我可以使用.text属性访问它。然后我将其解析为int。错误读取格式异常未经用户代码处理 我的另一个问题是,我可以对会话变量执行操作吗 protected void submit_order_button_Click(object sender, EventArgs e) {

正在处理一些.aspx.cs代码,我决定忘记如何将文本框值转换为可用的整数或小数。 请注意,我对.asp相当陌生。但愿我能对c夏普说同样的话。 因此进入我的文本框(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");
}

感谢您的帮助

尝试或。

发布放置
控制台.WriteLine(strawberryp\u Textbox.Text)的结果就在代码中有“问题…”注释的行之前。如果在Visual Studio web服务器下运行应用程序(通常通过调试-点击F5),则输出应显示在Visual Studio的输出窗格中。这可能有助于验证该文本框的Text属性中是否只有单个字符“1”

另外,最好的做法是使用TryParse而不是Parse,这样可以更仔细地控制对预期值中错误的响应