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());
Другие вопросы по тегам