2012-02-23 104 views
0

我有8個只接受整數的文本框。如何計算每個文本框中用戶輸入的值的總和,結果將顯示爲標籤。用戶點擊提交按鈕後,標籤的值(數字結果)將被存儲在數據庫中。有誰知道?謝謝。期待聽到你們的聲音。 我得到這個錯誤:輸入字符串的格式不正確。 在這一行:計算文本框的總價值

int total = 0; 
total = int.Parse(TextBox2.Text) + int.Parse(TextBox4.Text) + int.Parse(TextBox6.Text) + int.Parse(TextBox8.Text) + int.Parse(TextBox10.Text) + int.Parse(TextBox12.Text) + int.Parse(TextBox14.Text) + int.Parse(TextBox16.Text);  
Label1.Text = total.ToString(); 
+0

當表單提交時,或者在用戶輸入數字時,客戶端是否需要計算? – Jamiec 2012-02-23 08:17:09

+0

方式模糊不全。何時(重新)計算總和?什麼db? – 2012-02-23 08:20:09

+0

真的嗎?那麼我使用sql – 2012-02-23 08:22:42

回答

2

你可以做到這一點的方法: -

totalValue = int.Parse(txtBox1.Text) + int.Parse(txtBox2.Text) + int.Parse(txtBox3.Text) + int.Parse(txtBox4.Text) + int.Parse(txtBox5.Text) + int.Parse(txtBox6.Text) + int.Parse(txtBox7.Text) + int.Parse(txtBox8.Text); 

存儲在標籤中的值

label.Text = totalValue; 

OR

的foreach(控制下,在this.Controls) {
if(c.GetType()。Name.ToString()==「TextBox」) { totalValue + = int.Parse(String.Format(「txtBox {0} .Text」,count)); } }

foreach (Control c in this.Controls) 
{    
     if (c.GetType().Name.ToString()=="TextBox") 
     { 
       int value = 0; 
       if(int.TryParse(((TextBox)c).Text,out value)) 
        totalValue += value; 
     } 
} 

存儲在標籤中的值

label.Text = totalValue; 
+0

,如何在標籤中顯示它? – 2012-02-23 08:22:18

+0

@WhoMe:更新了答案。 – 2012-02-23 08:29:58

+0

謝謝。祝你有個愉快的日子 – 2012-02-23 08:33:59

1
int total = 0; 
total = int.Parse(txtBox1.Text) + int.Parse(txtBox2.Text) + int.Parse(txtBox3.Text) + int.Parse(txtBox4.Text) + int.Parse(txtBox5.Text) + int.Parse(txtBox6.Text) + int.Parse(txtBox7.Text) + int.Parse(txtBox8.Text); 
Label1.Text = total.ToString(); 
+0

謝謝seany :) – 2012-02-23 08:39:53

+0

如果任何文本框爲空,則'int.Parse()'將拋出異常空白。建議'int.TryParse()' – Nick 2017-05-22 05:18:05

3

如果你可以使用jQuery添加一個普通類所有的文本框,說 「textToCalculate」 的,如果標識標籤是「labelToShowResult」

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.textToCalculate').change(function() { 
      var total = 0; 

      $('.textToCalculate').each(function(){ 
       total += parseInt(this.value); 
      }); 

      $('#labelToShowResult').val(total); 
     }); 

    }); 
</script> 

希望這個工程

2

其簡單所有你需要做的就是將所有的文本框文本轉換爲雙精度,並將它們與FOR循環相加。

1

回答你的第二個問題是在參數保持的總價值,並通過使用

Request.QueryString 

前一個網頁.. 第二種方式就是保持總價值得到一些其他的頁面,價值在全局(靜態)變量中,並在你的任何頁面中使用它。