Если у вас нет ссылки участника на элемент управления, вам следует рассмотреть возможность отделения страницы от элемента управления. В идеальном мире страница не обязательно должна знать о контроле, который может содержать или не содержать . Следовательно, вы можете посмотреть на реализацию шаблона MVP.
Здесь есть простая реализация MVP здесь , и вы можете увидеть развязку в действии здесь . Если вы отменяете связь из примера развязки (то есть страница запускает событие, которое получает элемент управления), то в основном вы отделяете свою страницу от элемента управления. Это дает преимущество в том, что если ваша страница изменяется и элемент управления больше не используется, событие ничем не отслеживается, и ваша страница продолжает выполняться без проблем. Я считаю это гораздо более подходящим, чем потенциальное исключение нулевой ссылки, когда FindControl не находит элемент управления, а затем вы пытаетесь выполнить метод для него.
Несмотря на то, что разделение может занять несколько дополнительных минут, во многих случаях это оправдывает усилия.