Страница load() или страница init()

В asp.net, когда вы связываете свои gridviews? при загрузке страницы() или Page Init().... почему?

Ответы

Ответ 1

Обычно вы должны связываться с загрузкой или после нее(). Событие Init() предназначено для создания любых динамически созданных элементов управления до появления привязки, чтобы они существовали, когда необходимо иметь привязку. Load() не является единственным вариантом, однако... если вам нужно отложить привязку к элементу управления по какой-либо причине, вы также можете привязать его к событию PreRender(). Также можно выполнить дополнительную настройку в Load(), вызвать метод DataBind() и обработать события привязки страницы для связывания еще более структурированным способом, если вам нужно.

Ответ 2

Это будет зависеть от конкретного случая, однако наиболее распространенным ответом будет Page_Load, потому что этого обычно достаточно для большинства сценариев привязки данных.

Даже для сложных сценариев привязки данных Page_Init будет не быть подходящим местом, потому что контейнерные элементы управления, такие как GridView, загружают своих детей только во время события Page_Load. Вам нужно пойти дальше по жизненному циклу, чтобы получить доступ к этим детям.

В моем случае, однако, ответ был бы "ни". Это связано с тем, что я никогда не привязываю управление непосредственно в пределах Page_Load. Вместо этого я предпочитаю иметь отдельный метод, который выполняет привязку данных и может быть вызван из Page_Load или любой другой функции, если мне нужно повторно связать после обратной передачи.