Вот как я справился:
создал приватную переменную уровня страницы для хранения нашего списка правильных / неправильных значений
Приватные ответы как новый список (логический) 'создает строго типизированный список значений t / f
в Page.Load
если IsPostBack, то
перебирать каждую строку
для каждого gridRow As GridViewRow в GridView1.Rows
'получить выбранное значение для этого ответа
Затемнить ответ в виде string = CType (gridRow.FindControl ("DropDownList1"), DropDownList) .SelectedValue
добавить этот ответ в список
Answers.Add (IsCorrectAnswer (ответ))
следующий
конец если
функция IsCorrectAnswer определяет, является ли правильный ответ на этот вопрос верным, и возвращает логическое значение. Вам нужно написать эту функцию в соответствии с вашими потребностями.
в Button1.Click обработчик
'rowCounter будет служить индексом ответов
Dim rowCounter as Integer = 0
Для каждого gridRow как GridViewRow в GridView1.Rows
'grid_RowDataBound обрабатывает привязку одной строки
grid_RowDataBound (gridRow, rowCounter)
rowCounter + 1 =
Далее
наконец
Частный Sub grid_RowDataBound (gridRow как GridViewRow, rowCounter как Целое число)
сделать раскрывающийся список невидимым
CType (gridRow.FindControl ("DropDownList1"), DropDownList) .Visible = False
«потому что мы будем использовать два свойства метки, для простоты доступа я сначала добавлю ее в переменную
Затемнить метку As Label = CType (gridRow.FindControl ("Label1"), Label)
установить ярлык видимым
label.Visible = True
'установить текст
label.Text = Iif (ответы (rowCounter), «исправить», «неверно»)
Конец Sub
Кто-то, возможно, имеет более чистое решение, чем это, но я знаю, что это работает, по крайней мере, насколько я понимаю проблему, с которой вы сталкиваетесь.
Удачи