Потребительская веб-часть не отвечает на изменения в веб-части провайдера

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/54001

  •  10-12-2019
  •  | 
  •  

Вопрос

Я в настоящее время использую 3 веб-частей, которые подключены (WebPart A, подключенные к B, B, подключенные к C). Проблема лежит в соединении между B и C. WebPart B - провайдер и потребитель, и содержит только DropBox с некоторыми переменными. Выполненные элементы из этого Dropbox являются прилагаемым значением. Это ConnectionProvider в коде, который я использую в WebPart B.

[ConnectionProvider("DropboxValue", "dbv")]
public IDropBoxValue provider()
{
     return this;
}
.

Это подключениеConsumer, я использую в WebPart C.

[ConnectionConsumer("DropboxValue", "dbv")]
public void consumer(IDropBoxValue providerInterface)
{
     _provider = providerInterface;
}
.

На первой загрузке страницы ShopboxValue автоматически выбирается, и WebPart C использует эту переменную для создания SPGRIDVIEW с данными. Теперь, если я изменим эту переменную, выбрав новый элемент из WebPart Dropbox C, не отвечает на него. На самом деле, если я запуску проекта в отладке ничего не вызывается из WebPart C.

Так почему WebPart C не отвечает на изменения в WebPart B?

<Сильные> Дополнительные редактирование Всякий раз, когда я изменяю выбранную информацию в WebPart B, он меняет свой текст на «Нет подключена веб-часть Provider». Эта ошибка создана мной и брошена, когда

if (_Provider == null)
.

_Provider - это интерфейс веб-сайта поставщика.

Это было полезно?

Решение

Ошибка в моем случае раскладывается с использованием CreatechildControls и функций onPrender.Я позвонил провайдеру в CreateChildControls, пока он должен был вызван в функции onPrerender.

Если вы называете другой веб-сайт в CreateChildControls, возможно, что CreateChildControl от этого веб-панель не были инициированы.Когда onPrerender называется всеми функциями CreatechildControl всех веб-панелей.И вот в то время, когда OnPrender называется все WebParts на текущей странице, будет экскавист.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top