почему код восстановления данных для WebPart написан в методе PreRender - PullRequest
1 голос
/ 05 сентября 2011

При написании кода для соединения двух веб-частей я заметил, что при попытке извлечь данные из веб-части поставщика в методе CreateChildControl объект подключения отображается как NULL.Однако, когда я пишу код в методе PreRender, все работает нормально. Есть ли какая-либо конкретная причина для написания кода поиска только в методе PreRender ??

1 Ответ

1 голос
/ 05 сентября 2011

Представление подключений веб-частей ASP.NET

(...) группа ASP.NET рекомендует, чтобы веб-части-потребители не использовали методы или свойства в интерфейсе поставщика.до этапа PreRender.В частности, они не должны использовать методы или свойства интерфейса поставщика в самом методе.Причина в том, что соединения могут зависеть друг от друга.У вас может быть ProviderWebPart, подключенный к ProviderConsumerWebPart, подключенный к ConsumerWebPart.ConsumerWebPart не может запрашивать интерфейс поставщика до тех пор, пока не будут установлены оба соединения, и порядок, в котором устанавливаются соединения, соответствует платформе Framework.

Подробный поток событий веб-части SharePoint

SharePoint Web Part - Event Flow chart

...