MasterPage Page_Load обращается до Grid_ItemCommand
Я использую объект сеанса для хранения сообщений об успехе / ошибке на основе действий пользователя.
При каждой обратной передаче сообщение устанавливается на ItemCommend и извлекается из Page_Load главной страницы. После получения сообщение удаляется из сеанса.
Проблема заключается в том, что Page_Load главной страницы вызывается до вызова ItemCommand, поэтому сообщение не отображается до следующего обновления или обратной передачи.
Как эта ситуация обычно обрабатывается? Есть ли какое-то другое событие, против которого мы можем кодировать?
3 ответа
Это нормальное поведение aspx и главных страниц. Сначала происходит загрузка страницы содержимого страницы после того, как загрузка этой главной страницы запускается, а затем все другие нажатия и т. Д.
Вы можете использовать событие PageLoad Complete, чтобы решить вашу проблему.
Это нормальное поведение. показать ваше сообщение на itemcommand
или же Page_prerender
Создайте открытый метод в коде позади вашей главной страницы, например:
public void Set_Value(String SessionValue)
{
//your code here
}
В файле aspx вашей страницы содержимого используйте следующую строку кода:
<%@ MasterType VirtualPath="~/MasterPage.master" %>
Теперь в коде позади вашей страницы контента, вы можете легко вызвать метод главной страницы в событии Item любого вашего элемента управления. В методе вашей мастер-страницы вы можете написать необходимый код для обновления и отображения значений.
Вызов метода главной страницы на странице содержимого
this.Master.Set_Value(Session["abc"].ToString());