У меня есть компонент ASP.NET gridview, который заполняется данными из базы данных.Я также добавил поле шаблона в gridview, которое содержит компонент DropDownList.Я также создал отдельную кнопку (не поле gridview).При нажатии этой кнопки программа просматривает все строки GridView и проверяет DropDownList каждой строки, а когда найден DropDownList с выбранным значением, отличным от 0, она помещает сведения об этой конкретной строке в сеанс, который будет отправлендругая страницаКод выглядит следующим образом:
protected void CheckoutButton_Click(object sender, EventArgs e)
{
int n = 0;
foreach (GridViewRow row in GridView1.Rows)
{
if (((DropDownList)row.FindControl("DropDownList1")).SelectedItem.Value == "0")
{
}
else
{
n++;
Session["ProductList" + n] = row.Cells[0].Text;
Session["QuantityList" + n] = row.Cells[5].Text;
Session["NumberofResults" + n] = n;
}
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что при нажатии кнопки «Оформить заказ» значение, считываемое из DropDownList, - это не значение, выбранное пользователем, а его значение.значение по умолчанию.В основном значение выпадающего списка изменяется на значение по умолчанию перед выполнением кода в методе CheckoutButton_Click.
Есть идеи, пожалуйста?