위의 앤서니의 의견에 동의합니다.
그러나 선택한 ListItems는 원래 DropDownList의 동일한 개체를 계속 참조하므로 필드/속성을 변경할 때 의도하지 않은 부작용이 발생합니다. 예를 들어
: 그것은 분명 위의 코드의 의도하지 반면
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";
drpTypes 및 drpTypesCreateEdit 모두 지금, "3"의 SelectedValue 있습니다.
인스턴스화 새로운을 ListItem는 대신이 문제를 해결합니다 원래 개체를 선택하는 객체 :
drpTypesCreateEdit.Items.AddRange(drpTypes.Items.Cast<ListItem>().Select(x => New ListItem(x.Text, x.SelectedValue)).ToArray();
항목에 해당 메서드가 없습니다. ( – LuRsT
어떤 버전의 .NET을 사용하고 있습니까? 3.5 이상이면 System.Linq에 using 문을 추가하십시오. 2.0 인 경우 첫 번째 목록의 항목을 반복하고 두 번째 목록에 하나씩 추가하도록 선택할 수 있습니다. –
덕분에 많은 친구가되었습니다. D – LuRsT