Текстовое поле Gridview возвращает нулевое значение при 'findcontrol'
у меня есть gridview с полем шаблона текстового поля, динамически добавляемым в код позади, введенное значение в текстовое поле. При извлечении значения текстового поля оно возвращается пустым.
Ниже кода я попытался получить значение.
'*** Я ввел значение "Hello" в элемент управления текстовым полем перед выполнением приведенного ниже кода.
For Each row As GridViewRow In GridviewChild.Rows Dim tbSigningGroup As TextBox = DirectCast(row.Cells(4).FindControl("tbSigningGroup" + CStr(row.RowIndex)), TextBox) If Not tbSigningGroupIs Nothing Then Dim temp As String = tbSigningGroup.Text ' ****** Returns NULL******* End If Next
- Есть какие-нибудь предложения, где я делаю что-то не так?
Что я уже пробовал:
Я использовал метод CurrentRow.FindControl("ControlID"), чтобы получить значение, но все равно получаю пустую строку в качестве возвращаемого значения.
Bhola Ram Sahu
Вы должны проверить ту строку, где вы привязываете GridView.datasource. Убедитесь, что вы поместили эту строку в блок без обратной передачи. кажется, это сработает.
Richard Deeming
FindControl
ожидает идентификатор элемента управления в том виде, в каком вы его ввели в разметку. Почему вы добавляете индекс строки к идентификатору?
Вы уверены, что он находит контроль? Тот tbSigningGroup
не Nothing
?
Как вы создаете контроль? Рассматривали ли вы возможность использования TemplateField
вместо этого?