Контейнер именования не получает "установлен" в экстендерах - PullRequest
1 голос
/ 15 сентября 2009

Думаю, я мог бы знать причину, но не то, как ее исправить, не много переписывая код (чего я предпочитаю избегать).

У меня есть

public class datecontrol : basecontrol
{
    private ImageButton _ImageButton;
    private TextBox _EditControl;
private CalendarExtender _CalendarExtender;
....
    public datecontrol{
      _ImageButton=new ImageButton();
      _EditControl=new TextBox();
      _CalendarExtender=new CalendarExtender();
      .....
      _CalendarExtender.TargetControlID=_EditControl.ID;
    }
}

и

public class basecontrol : Panel,INamingContainer
....

Теперь вот странная часть. _CalendarExtender выдает ошибки при поиске идентификатора для _EditControl в качестве TargetID. Это звучало как проблема с контейнером именования, поэтому я посмотрел и посмотрел, и ничего не смог найти. Затем я посмотрел с отладчиком. Для обоих контейнеров имен _EditControl и _ImageButton установлено значение this, как и ожидалось, а для контейнера _CalendarExtender установлено значение null.

Я бы хотел попытаться решить эту проблему самостоятельно с помощью _CalendarExtender.NamingContainer=this;, но это свойство только для чтения.

Единственная причина, по которой я могу понять, что это могло произойти, это то, что _CalendarExtender наследуется от ExtenderControl-> Control. Где Panel наследуется от WebControl-> Control.

Кто-нибудь знает что-то, чего я мог не заметить, или решение этой проблемы или что-то в этом роде?

1 Ответ

0 голосов
/ 15 сентября 2009

Хорошо, я добавлял расширитель календаря (позже в коде) на панель, отличную от панели управления, в которой, как я полагаю, возникла такая ошибка ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...