У меня есть выпадающий список на моей странице aspx, который я связываю с источником данных.Я заметил, что выбор первого элемента не вызвал событие selectedindexchange.Отправляясь на поиски ответа, я обнаружил, что наиболее распространенная вещь - это поместить первый элемент в ddl, либо с пустой строкой, либо с чем-то вроде «--- Select ---».
Отлично, это сработало.Но потом я заметил, что он все еще запускает мое событие Page_Load.В моем событии Page_Load я проверяю обратную передачу.Если это не так, он связывается с ретранслятором и ddl.Так что получается, что при выборе первого элемента в ddl привязка данных к повторителю и ddl пропускается, и я получаю пустую страницу.
Сначала я подумал, что могу это исправить, включив viewstate, но, увы.После этого я добавил в свой код следующее, но я действительно чувствую, что это выглядит странно.У кого-нибудь есть идея получше?
if (!IsPostBack || RacesDropDownList.SelectedIndex == 0)
{
PopulateControls();
}