У меня есть GridView
с некоторыми BoundFields
и двумя TemplateFields
. В этих двух TemplateFields
я динамически создаю UserControls
, содержащий DropDownList
и TextBox
, которые могут изменять пользователи.
Когда я пытаюсь получить значения элементов управления после PostBack
, значения в BoundFields
все еще там, но мои динамические элементы управления исчезают. Я могу создать их снова, но он не получит значения пользователя ... Как я могу получить эти значения, пока они не потерялись?
Вот мой код:
В событии RowDataBound
:
Select Case type
Case "BooleanBis"
e.Row.Cells(2).Controls.Clear()
Dim list1 As BooleanBisList = New BooleanBisList(avant, False)
e.Row.Cells(2).Controls.Add(list1)
e.Row.Cells(4).Controls.Clear()
Dim list2 As BooleanBisList = New BooleanBisList(apres, True)
e.Row.Cells(4).Controls.Add(list2)
Case "Boolean"
e.Row.Cells(2).Controls.Clear()
Dim list3 As BooleanList = New BooleanList(avant, False)
e.Row.Cells(2).Controls.Add(list3)
e.Row.Cells(4).Controls.Clear()
Dim list4 As BooleanList = New BooleanList(apres, True)
e.Row.Cells(4).Controls.Add(list4)
End Select
В моем событии нажатия кнопки я пытаюсь получить пользовательский элемент управления:
Case "String"
temp.ChampValeurApres = DirectCast(Tableau1.Rows(i).Cells(selectedColumn).Controls(1), TextBox).Text
но я получаю ошибку, что она не существует.