Возможны две проблемы:
- Элемент управления не найден
- Это не
CheckBox
Если выВместо этого вы использовали бы приведение, вы бы знали, что это было:
CheckBox followUp = (CheckBox) gRow.FindControl("chkFollowup");
Почти всегда неправильно использовать as
без проверки на ничтожность впоследствии.
Я подозреваю, что проблема в том, что ID на самом деле также имеет что-то, что идентифицирует строку внутри него ... но с указанным выше изменением вы по крайней мере сможете определить, какой путь ошибки вы выбрали.
Вам, вероятно, придется изменить способ нахождения элемента управления, но до тех пор, пока "не найден элемент управления" является ошибкой , я думаю, что разумно оставить его, выдав исключение,Если отсутствующий элемент управления является допустимой ситуацией, вы должны явно обработать его, но в противном случае показывается страница с ошибкой пользователю и регистрируется исключение (например, с помощью ELMAH).