Я реализовал 2 веб-части (производные от Microsoft.SharePoint.WebPartPages.WebPart, веб-части WSS 3), одна из которых является поставщиком, а другая - потребителем (реализующая модель подключения ASP.net, с ConnectionProviderAttribute и ConnectionConsumerAttribute методы).
Мне удалось развернуть их в функции, которая также развертывает макет страницы, содержащий две зоны веб-частей, которые сами заполняются во время метода FeatureAvtivation компонентаполучатель, с 2 вновь созданными веб-частями.Все это прекрасно работает.
Для информации я использовал эту ссылку , чтобы она работала.Осторожно, метод, использующий тег AllUsersWebPart в elements.xml , показанный в ссылках, подобных этой (http://www.andrewconnell.com/blog/archive/2007/10/07/Having-Default-Web-Parts-in-new-Pages-Based-Off-Page.aspx), работает, но если вы деактивируете, а затем снова активируйте свою функцию, у вас просто будетвеб-частей в ваших будущих страницах на основе макета. Описанный здесь метод (http://sharepoint.coultress.com/2008/06/adding-web-part-to-page-layout.html) просто выдал ошибку при анализе метаданных для файла ASPX макета (похоже, проблема возникла из строки в теге ZoneTemplate).
Моя следующая цель - сразу после всего этого соединить эти веб-части, что позволит конечному пользователю создавать страницы на основе макета, содержащего по умолчанию две веб-части , соединенные вместе(сейчас все работает, кроме подключенной части).
Я пробовал что-то вроде this , используя модель подключения ASP.net (другая, модель WSS,логически выдает ошибку, потому что я не реализую хорошие интерфейсы). Но даже если соединение, полученное в результате "mgr.SPConnectWebParts ()" метod не выдает никаких исключений и фактически добавляет соединение в список соединений менеджера веб-частей. В режиме отладки я вижу, что свойство соединения IsActive является ложным (может быть нормальным), и что при создании новой страницы на основена макете веб-части не подключены.
Есть предположения?Я полагаю, что что-то связано с тем, что веб-части не могут быть связаны до того, как страница, содержащая их, действительно создана, но я в этом далеко не уверен.