Пользовательский веб-элемент управления теряет свойства при обратной передаче - PullRequest
0 голосов
/ 16 декабря 2009

Я создал usercontrol, который имеет публичное событие с именем "DialogClosed".

Этот пользовательский контроль также имеет кнопку. Когда пользователь нажимает кнопку, фоновый код запускает событие «DialogClosed».

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

Поэтому, когда я запускаю событие, оно генерирует исключение (потому что "DialogClosed" == null)

Ответы [ 3 ]

1 голос
/ 16 декабря 2009

Может быть, я что-то упустил ... но не могли бы вы просто проверить свойство IsPostback страницы при создании элемента управления, чтобы убедиться, что элемент управления не создается при обратной передаче?

Кроме того, в каком случае вы создаете элемент управления?

0 голосов
/ 16 декабря 2009

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

0 голосов
/ 16 декабря 2009

Включен ли ViewState для элемента управления?

Если это так, необходимо создать экземпляр UserControl в событии Init страницы, чтобы свойства сохранялись в обратной записи, если вы просто не объявили ее в разметке aspx.

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