Команда Объекта повторителя ASP.NET, не будучи запущенным

Вы попытались перезагрузить, так как Вы устанавливаете переменную среды?

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

20
задан Ciaran O'Neill 24 August 2009 в 12:01
поделиться

3 ответа

Скорее всего, вы отключили ViewState для страницы.

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

Если вы отключите состояние просмотра, дерево элементов управления не будет перестраиваться во время обратной передачи, и, следовательно, элемент управления, который должен получить событие не существует в памяти. Итак, событие умирает.

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

Изменить: обходной путь описан здесь: http://petesdotnet.blogspot.dk/2009/08/asp.html

24
ответ дан 29 November 2019 в 23:57
поделиться

Я не уверен в этом, но вам, возможно, придется установить свойства CommandName и, необязательно, CommandArgument для кнопки, вызывающей ItemCommand событие. В противном случае ASP.NET предположит, что на странице нет кнопки, для которой вы хотели бы запустить событие. Вы можете попробовать это.

Кроме того, если вы не различаете имена команд, почему бы вместо этого не использовать событие Click каждой кнопки? Просто подпишитесь на те, которые указаны в репитере ItemCreated или ItemDataBound .

.
0
ответ дан 29 November 2019 в 23:57
поделиться

Попробуйте использовать Page_init вместо Page_load, и это должно решить проблему.

0
ответ дан 29 November 2019 в 23:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: