Обнаружение самоотдачи в динамически созданном UserControl - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть кнопка и панель.Когда пользователь нажимает кнопку, он загружает пользовательский элемент управления и добавляет его к panel.Controls.Мне нужно привязать сетку в пользовательском контроле, когда пользовательский контроллер впервые загружает (Page_Load), но не когда пользователь нажимает кнопку внутри пользовательского контроля, он запускает обратную передачу в пользовательском контроле.Я не могу использовать Page.IsPostback, потому что он возвращает true, когда пользователь нажимает главную кнопку, которая загружает usercontrol.Что я могу сделать?

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Это примитивно, но вы можете проверить любой элемент управления, вызвавший обратную передачу, сравнив значение, полученное из:

Request.Form.Get("__EVENTTARGET")

Возвращает уникальный идентификатор целевого элемента управления;отметьте это, чтобы определить, какая кнопка вызвала обратную передачу, и действуйте соответственно.

0 голосов
/ 21 февраля 2012

Вы можете назначить кнопкам внутри пользовательского элемента управления имя CommandName и проверить значение имени CommandName.Вы также можете проверить тип объекта-отправителя, чтобы определить элемент управления, вызвавший обратную публикацию.

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

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