Zgadzam się z powyższym komentarzem Anthony'ego.
Jednak, ponieważ wybrane elementy ListItems będą nadal odnosić się do tych samych obiektów z oryginalnej listy rozwijanej DropDownList, będą występowały niezamierzone efekty uboczne przy zmianie pól/właściwości.
Na przykład:
drpTypes.Items.Add(new ListItem("Tipos de Acções", "1"));
drpTypes.Items.Add(new ListItem("Tipos de Combustível", "2"));
drpTypes.Items.Add(new ListItem("Tipos de Condutor", "3"));
drpTypesCreateEdit.Items.AddRange(drpTypes.Items);
drpTypes.SelectedValue = "2";
drpTypesCreateEdit.SelectedValue = "3";
Oba drpTypes i drpTypesCreateEdit teraz SelectedValue „3”, natomiast wyraźnie, że nie jest intencją powyższego kodu.
instancji nowy ListItem obiektów zamiast po prostu wybierając oryginalnego obiektu będzie rozwiązać ten problem:
drpTypesCreateEdit.Items.AddRange(drpTypes.Items.Cast<ListItem>().Select(x => New ListItem(x.Text, x.SelectedValue)).ToArray();
Nie mam tej metody w pozycji :( – LuRsT
Jakiej wersji .NET używasz? Jeśli 3.5+, dodaj instrukcję using dla System.Linq. Jeśli jesteś 2.0, możesz po prostu wybrać iterację pozycji na pierwszej liście i dodać je jeden po drugim do drugiego. –
To zadziałało, bardzo dziękuję za kolega: D – LuRsT