Вы привязываете все элементы управления select к одному и тому же списку элементов.Это элементы, которые вы устанавливаете как выбранные при установке SelectedIndex в элементе управления select.Поскольку все элементы управления select имеют ссылки на один и тот же список элементов, установка свойства SelectedIndex для одного из них устанавливает его для всех остальных.
Сравните следующие два фрагмента.Первый - тот же, что и у вас, где вы привязываетесь к одному и тому же списку:
var _listItems = new List<ListItem>{ new ListItem("Item1"), new ListItem("Item2"), new ListItem("Item3")};
for (int controlNumber = 1; controlNumber < 4; controlNumber++) {
var HtmlSelectControl = ((HtmlSelect) this.FindControl(String.Format("Select{0}", controlNumber)));
HtmlSelectControl.Items.AddRange(_listItems.ToArray());
HtmlSelectControl.SelectedIndex = controlNumber - 1;
}
Второй - это то, где вы создаете отдельный список для каждого раскрывающегося списка.Вот что вам нужно сделать:
for (int controlNumber = 1; controlNumber < 4; controlNumber++) {
var _listItems = new List<ListItem>{ new ListItem("Item1"), new ListItem("Item2"), new ListItem("Item3")};
var HtmlSelectControl = ((HtmlSelect) this.FindControl(String.Format("Select{0}", controlNumber)));
HtmlSelectControl.Items.AddRange(_listItems.ToArray());
HtmlSelectControl.SelectedIndex = controlNumber - 1;
}