У меня есть пользовательское свойство для пользовательского элемента управления, которое имеет несколько состояний / режимов. Если это свойство установлено на родительской странице: я хотел бы, чтобы мой элемент управления обновлялся автоматически. Использование свойства при загрузке страницы не работает, поскольку оно не инициировано.
Я могу представить 3 способа сделать это:
- В свойстве я мог бы добавить блок кода, который будет вызывать this.DataBind ().
- Я мог бы добавить код, переопределив виртуальный метод DataBind.
- Я мог бы создать открытый проприетарный метод Update.
Я хотел бы получить любой вклад в то, что является лучшей практикой в целом. Более того, я решил переопределить виртуальный метод DataBind. Мой псевдокод таков:
public override void DataBind()
{
if (SpecialMode)
{
.. load from database
}
base.DataBind()
}
Я заинтересован в упорядочении базы. DataBind (). Я видел, что обычно он помещается первым, но после загрузки данных из базы данных: мне нужно привязать данные, чтобы отобразить данные.
Любой вклад в эти соображения будет принят с благодарностью.
Чтобы быть ясным:
Этот элемент управления является виджетом опроса. Обычно он выполняет поиск и загрузку опроса для отображения из события Page_Load. Но он также имеет режим отчетов, который позволяет странице, в которую встроен элемент управления, изменять идентификатор опроса для отображения. Это свойство не будет инициировано в Page_Load. Хорошо, часть этого беспорядка состоит в том, что у меня есть свойство для объекта, а также дублированное свойство для ViewState, но только Id.