处理一些.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 :(得分:0)
答案 1 :(得分:0)
在您的代码中将Console.WriteLine(strawberryp_Textbox.Text);
放在行前面的结果中,其中包含“THE PROBLEM ...”注释。如果在Visual Studio Web服务器下运行应用程序(通常通过调试 - 按F5),输出应显示在Visual Studio的“输出”窗格中。这可能有助于验证只有单个字符“1”位于该文本框的Text属性中。
此外,最佳做法是使用TryParse而不是Parse,这样您就可以更谨慎地控制对预期值中的错误的响应。