2016-09-24 100 views
0

我有一個有兩種形式的asp.net網站。第一種形式包含用戶輸入貨運信息的輸入控件。第二種形式包含摘要信息。我遇到的問題是,當用戶通過在第一個表單上按addButton添加項目時,他們應該能夠輸入另一個項目,並且這些項目的價格總和應該傳遞到彙總表單,而不是通過點擊addButton之後輸入的最新項目的價格。我剛剛開始asp.net,所以任何幫助,將不勝感激。添加彙總變量

protected void addButton_Click(object sender, EventArgs e) 
{ 
    var dollA = new List<decimal>(); 
    int i = 0; 
    for (i = 0; i < 4; i++) { 
     weightInteger = int.Parse(weightTextBox.Text); 
     quantityInteger = int.Parse(quanTextBox.Text); 
     priceDecimal = decimal.Parse(priceTextBox.Text); 

     // Calculate the current item price. 
     currentPriceDecimal = priceDecimal * quantityInteger; 
     // Format and display the current item price. 
     currentTextBox.Text = currentPriceDecimal.ToString("C"); 

     // Calculate the dollar amount due. 
     dollarAmountDecimal += currentPriceDecimal; 

     dollA.Add(dollarAmountDecimal); 
     dollDec = dollA.Sum(); 
     Session["Amount"] = dollDec; 
    } 
} 

彙總表:

protected void Page_Load(object sender, EventArgs e) 
{ 
    decimal amount; 

    amount = Convert.ToDecimal(Session["Amount"]); 

    amountTextBox.Text = amount.ToString("C"); 
} 
+0

爲什麼有一個循環會重複處理相同的輸入字段?你可以試試'Session [「Amount」] + = dollDec;'看看會發生什麼。你的會話變量在這個方法中被覆蓋,我認爲它當前不包含其他輸入的範圍。 – dukedukes

+0

我擺脫了for循環,並嘗試'Session [「Amount」] + = dollDec;'但它帶來一個錯誤,說'操作符+ =不能應用於對象類型和小數的操作數'@dukedukes –

+0

在這種情況下做'會話[「金額」] =(十進制)會話[「金額」] + dollDec;' – dukedukes

回答

0

這似乎基於註釋的OP工作。

protected void addButton_Click(object sender, EventArgs e) 
{ 
    if (Session["Amount"] == null) 
     Session["Amount"] = Decimal.Zero; 

    weightInteger = int.Parse(weightTextBox.Text); 
    quantityInteger = int.Parse(quanTextBox.Text); 
    priceDecimal = decimal.Parse(priceTextBox.Text); 

    // Calculate the current item price. 
    currentPriceDecimal = priceDecimal * quantityInteger; 
    // Format and display the current item price. 
    currentTextBox.Text = currentPriceDecimal.ToString("C"); 

    // Calculate the dollar amount due. 
    dollarAmountDecimal += currentPriceDecimal; 

    Session["Amount"] = (decimal)Session["Amount"] + dollarAmountDecimal; 
}