Итак, у меня есть главная страница с логином, который находится на панели обновлений. У меня есть дочерняя страница с буквальным элементом управления, который должен обновляться при обновлении входа в систему. Чего он не делает, так это перезагрузки метода, который я использую для генерации контента для этого литерала, когда он отправляет обратно. Я попытался вызвать метод на дочерней странице с главной страницы после того, как вы нажмете кнопку «Войти», но я получаю сообщение об ошибке, что буквальный элемент управления не может быть найден (поскольку он существует на дочерней странице, а не на главной странице). Как мне сослаться на этот элемент управления на главной странице, чтобы передать его моему методу?
Masterpage + updatepanel на дочерней странице
Ответы (2)
В статье ниже показано, как дерево элементов управления работает с MasterPages и как ссылаться на различные элементы управления на разных уровнях дерева элементов управления.
ASP.Net 2.0 - главные страницы: советы, уловки и ловушки
Таким образом, сценарий таков, что у вас есть панель обновления на дочерней странице, которая при срабатывании не обновляет, скажем, метку, которая находится в вашем заголовке на главной странице.
Что вы делаете, так это в коде вашей главной страницы создайте функцию, которая изменяет значение метки.
Включите панель обновления на главную страницу для метки, которая запускается событием textchanged и т. Д.
Теперь в коде дочерней страницы позади или, скажем, в событии нажатия кнопки вызовите функцию, которая существует на главной странице, и отправьте необходимое значение в скобках.
C #:
((MyMaster)this.Page.Master).ShowMessage(text);
VB.NET:
DirectCast(Me.Page.Master, MyMaster).ShowMessage(text)
Это должно обновить метку с правильным значением, одновременно вызывая панель обновления на главной странице и, таким образом, обновляя вашу метку.
Я собираюсь попробовать это сейчас на себе, желаю удачи. : D