Динамически добавленный UserControl не запускает событие PostBack при изменении выбора? - PullRequest
1 голос
/ 20 августа 2010

У меня очень странная проблема с пользовательским элементом управления, который мы динамически загружаем на веб-страницу asp.net (.net 2.0). пользовательский элемент управления имеет 3 раскрывающихся списка, к одному из которых прикреплено событие selectedindex exchange (которое загружает третий раскрывающийся список с набором значений).

странная вещь, если в настоящее время есть какие-либо недопустимые поля (где были активированы валидаторы полей) в других частях формы, когда вы выбираете раскрывающийся список при ПЕРВОЙ смене, он ничего не делает, но затем когда вы меняете индекс снова, он работает отлично! я не понимаю, как событие произойдет не для первого изменения, а для каждого последующего изменения.

Однако, если все эти поля заполнены правильно над пользовательским контролем, оно корректно запускает событие selectedindexbound.

в отношении проверки я отключил ВСЕ ВОЗМОЖНЫЕ проверки, чтобы попытаться устранить ее как виновника, поэтому я не понимаю, как проверка может влиять на пользовательский контроль.

любая помощь будет принята с благодарностью:)

1 Ответ

2 голосов
/ 20 августа 2010
  1. Если вы не хотите проверять форму в selectionIndexChange первого раскрывающегося списка, просто добавьте свойство CauseValidation="false", и оно не будет запускать проверку формы в selectionIndexChange.

  2. Если вы добавляете элементы управления динамически (во время выполнения), убедитесь, что вы не делаете это в блоке if(!IsPostBack), потому что вам также необходимо добавить элементы управления даже при обратной передаче. Это зависит от того, как вы добавляете элементы управления, но обычно это типичные ошибки при работе с такой проблемой

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