Использование Page.IsPostback в пользовательском элементе управления, помещенном в панель обновления - PullRequest
1 голос
/ 26 апреля 2009

У меня есть главная страница, на которую я загружаю пользовательский элемент управления с сеткой и добавляю / редактирую кнопки ссылок.

Если я связываю сетку, устанавливая источник данных и вызывая метод databind () в событии загрузки страницы, тогда он устанавливается правильно. Однако я хочу сохранить выбранную строку между постбэками, поэтому я обертываю код связывания в «if (! Page.IsPostBack) {}» как обычно. Моя проблема в том, что загрузка страницы всегда регистрирует ее как обратную передачу, и мой код никогда не запускается.

Я использую инфраструктуру 2.0, и моя сетка представляет собой инфраструктуру 2008.1 для инфраструктуры 2.0.

Я думаю, это должно быть что-то простое ... или все-таки надеяться!

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 26 апреля 2009

Если вы поместите свой элемент управления в UpdatePanel, вам следует проверить Page.IsCallback вместо Page.IsPostBack .

0 голосов
/ 19 марта 2019

У меня смешанные чувства по поводу удаления этой старой ветки, но вопрос по-прежнему актуален, и не было предложено никаких отличных решений, поэтому я бы добавил, что недавно сделал, чтобы решить ту же проблему:

У меня была похожая проблема с сайтом, который я создавал. Мое решение состояло в том, чтобы добавить метод к пользовательскому элементу управления под названием «OnFirstLoad», который выполняет всю работу, которую я бы обернул в блок «если не Page.IsPostback». Затем я вызываю метод «OnFirstLoad» со страницы хостинга при первой загрузке элемента управления в дерево элементов управления. Таким образом, самому элементу управления не нужно беспокоиться о том, является ли это обратной передачей, и главная страница может инициализировать его при необходимости.

0 голосов
/ 29 апреля 2009

Два способа, которые я нашел, были:

  1. чтобы загрузить пользовательские элементы управления при первой загрузке страницы, а затем скрыть их, пока пользователь не выберет то, что ему нужно видеть.
  2. для загрузки новой страницы в iframe на главной странице, что позволяет ему иметь собственный элемент управления страницы, означающий, что при первой загрузке он не является обратной передачей.

Не величайший, но обходится.

Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...