Элемент управления динамического выпадающего списка не запускает событие Selectedindexchanged - PullRequest
1 голос
/ 21 сентября 2011

Мне нужно запустить событие Selectedindexchanged динамически созданного выпадающего списка.У меня нет кода на странице aspx.Весь код находится в заднем коде.

DropDownList objdropDown = new DropDownList();
objdropDown.EnableViewState = true;
objdropDown.AutoPostBack = true;                                
//objdropDown.AutoPostBack = true;
//objdropDown.SelectedIndexChanged += new EventHandler(objdropDown_SelectedIndexChanged);

protected void objdropDown_SelectedIndexChanged(object sender, EventArgs e)
{
    //My code here
}

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

Ответы [ 4 ]

2 голосов
/ 21 сентября 2011

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

2 голосов
/ 21 сентября 2011

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

PageLoad задерживается, так как обработка обратной передачи уже произошла. Посмотрите на это: http://msdn.microsoft.com/en-us/library/ms178472.aspx

0 голосов
/ 04 марта 2013

У меня та же проблема, что и у меня, и я просто хотел поделиться своим решением для других. Пожалуйста, убедитесь, что

  • Идентификатор элемента управления в раскрывающемся меню одинаков для всех задних сторон сообщения (лучше установить его на всякий случай)
  • Создать динамический выпадающий список в событии page_Init.

Моя проблема связана с изменением идентификатора динамического элемента управления после обратной отправки. Моя проблема решена после того, как я убедился, что идентификатор элемента управления одинаков для всех постов.

0 голосов
/ 21 сентября 2011

Вы добавили недавно созданный DropDownList в его родительский Контейнер на Странице и установили его Видимость для видимого?

...