同意上面的Anthony的評論。
但是,由於所選的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 2010-04-19 13:56:32
您正在使用什麼版本的.NET?如果3.5+,請爲System.Linq添加using語句。如果2.0,你可以簡單地選擇遍歷第一個列表中的項目,並將它們逐個添加到第二個列表中。 – 2010-04-19 13:59:14
它的工作,非常感謝:D – LuRsT 2010-04-19 14:03:42