У меня возникла проблема с выпадающим списком внутри gridview.Как получить обновленное значение dropdownlist из строки gridview для сохранения?
Сетка представляет собой обновление команды rowcreated с выпадающим списком и набором значений (который отлично работает). Выбранные значения в раскрывающемся списке могут быть изменены пользователем, а затем сохранены.
Когда я нажимаю save, мне нужно получить каждое новое выбранное значение из выпадающего списка и сохранить его в списке int, если он еще не был добавлен.
Все это работает нормально, но я не могу получить обновленное значение, которое выбрал пользователь, только то, что уже было заполнено в качестве выбранного элемента при его настройке.
protected void btnSave_Click(object sender, EventArgs e)
{
List<int> list = new List<int>();
foreach (GridViewRow r in gvOrder.Rows)
{
if (r.RowType == DataControlRowType.DataRow)
{
DropDownList ddl = r.FindControl("ddlNewO") as DropDownList;
int value = Convert.ToInt16(ddl.SelectedItem.Text);
bool Contains = list.Contains(value);
if (!Contains)
{
list.Add(value);
}
else
{
lblMessage.Text = "This value is already assigned!";
}
}
}
}
Пример: если есть 9 строк, каждые из выпадающего имеет номер 1-9, и это выбранное число является индексом строки. Если я войду после загрузки страницы и выберем первые три как «1» и нажмите «Сохранить», она пробежит и все еще выберет значения с момента ее загрузки, например. 1,2,3.