Я выполнил это в проекте некоторое время назад. Для этого я создал CompositeControl, который содержит и TextBox, и CalendarExtender.
В методе CreateChildControls
CompositeControl я использую код, подобный следующему:
TextBox textbox = new TextBox();
textbox.ID = this.ID + "Textbox";
textbox.Text = this.EditableField.TextValue;
textbox.TextChanged += new EventHandler(HandleTextboxTextChanged);
textbox.Width = new Unit(100, UnitType.Pixel);
CalendarExtender calExender = new CalendarExtender();
calExender.PopupButtonID = "Image1";
calExender.TargetControlID = textbox.ID;
this.Controls.Add(textbox);
this.Controls.Add(calExender);
Конечно, убедитесь, что форма, содержащая этот CompositeControl, имеет менеджер сценариев инструментария.