2010-06-16 55 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

相關問題