Почему код реривации данных для веб -частей написан в методе прередерны
-
25-10-2019 - |
Вопрос
При написании кода для подключения двух веб -частей я заметил, что, когда я пытаюсь извлечь данные из веб -части поставщика в методе CreateChildControl, объект подключения отображается как нулевая. Однако, когда я пишу код в методе прередерны, все работает нормально. Есть ли какая -то конкретная причина написать код поиска только в методе прередерной?
Решение
Представление соединений веб -части ASP.NET
(...) Команда ASP.NET рекомендует, чтобы потребительские веб -части не использовали методы или свойства на интерфейсе поставщика до фазы прерандера. В частности, они не должны использовать методы или свойства на интерфейсе поставщика в самом методе. Причина в том, что соединения могут иметь зависимости друг от друга. У вас может быть ProviderWebpart, подключенный к ProviderConsumerWebpart, подключенному к ConsumerWebpart. ConsumerWebpart не может запросить интерфейс поставщика до тех пор, пока оба соединения не будут установлены, и порядок, в котором установлены соединения, соответствует структуре.