Как предотвратить веб-части, чтобы потерять соединения веб-частей
-
10-12-2019 - |
Вопрос
У меня есть 3 веб-панель, которые вместе создадут таблицу с данными в нем. WebParts работают следующим образом: Loginwp: пользователь может ввести имя пользователя и пароль в 2 текстовых полях, а затем нажмите на кнопку входа. Это активирует функцию входа. Этот веб-сайт теперь предоставит билет, который используется для проверки, включен ли пользователь войти в систему.
Typewp: Эта веб-часть активируется, когда loginwp может предоставить веб-панель и использует этот билет для входа в систему, чтобы получить типы документов и загружать их в ComboboxList. Если выбран тип документа, этот веб-сайт теперь будет предоставлять как билет, так и тип документа.
TableWP: Эта веб-часть активируется, когда Typewp предоставляет как билет, так и тип документа. Он использует оба переменных для загрузки данных в таблицу.
Когда нажата кнопка входа в систему TYPWP, автоматически выберет первый тип документа и, таким образом, активировать TableWP. До настоящего времени все работает, как и ожидалось. Теперь, когда я выбираю другой элемент в ComboboxList, Typewp потеряет loginwp в качестве провайдера и, следовательно, потерять его поставщика.
После некоторой отладки мне удалось выяснить, что CreatechildControls () Tywewp вызывается при изменении выбранного Comboboxitem. В этом CreateChildControls он проверяет, замечает ли поставщик Provider Provider. На данный момент это не так и так функция останавливается. Следующая функция называется CreatechildControls из loginwp, и оно создает The Provider Typwp искал.
Итак, мой вопрос: как можно предотвратить воссоздание ввода в систему, когда я случайно выбранный элемент в Combobox или я могу сохранить переменную билет где-то еще, так что он будет доступен до тех пор, пока пользователь находится на странице?
Решение
Я проследил ошибку назад и использовал
CreateChildControls()
.
и то
OnPreRender()
.
Функции неправильно, вызывая ошибку.Я проверил для провайдера внутри функции CreatechildControl.Но поскольку функция CreatechildControl провайдера, но она не могла найти его.Перемещение чека и переменного вызова в OnPrerender решена ошибка.