У меня есть сайт 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");
}
Почему существует цикл, который обрабатывает одни и те же поля ввода повторно? вы можете попробовать «Session [" Amount "] + = dollDec;' и посмотреть, что произойдет. В этом методе переменная сеанса переписывается, и я не думаю, что в настоящее время она имеет объем ваших других ресурсов. – dukedukes
Я избавился от цикла for и попробовал 'Session [" Amount "] + = dollDec ;, но он приносит ошибку, в которой говорится:« Operator + = не может быть применен к операндам объекта типа и десятичного числа »@dukedukes –
В этом случае do 'Session [" Amount "] = (decimal) Session [" Amount "] + dollDec;' – dukedukes