Проблемы с чтением значения DropDownList из GridView - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть компонент 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.

Есть идеи, пожалуйста?

1 Ответ

0 голосов
/ 21 декабря 2011

Вам необходимо заключить код в событие Page_Load с помощью if(!IsPostBack), чтобы убедиться, что выбранное значение сохраняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...