DropDownList控件选中项的深入研究

在开发中,大家肯定多次用到DropDownList控件。对于它的选中项,做了一些研究,不知大家在开发中是否遇到。
可以通过SelectedValue,SelectedIndex等设置选中项。也可以通过获取到DropDownList控件中的一个ListItem,将该项的Selected设置为

true。如果想使用Item.Selected=true,应该调用ClearSelection(),把所有item选中状态设为false。研究过程如下:

例如:绑定城市的DropDownList控件命名为ddlCity。假设已经把全国的地级市绑定在控件上。然后,
A,如果代码为:
ddlCity.SelectedIndex=1;
ddlCity.SelectedIndex=2;
则选中的为ddlCity中的第三项(索引从零开始)。

B,如果代码为:
ddlCity.Items[1].Selected=true;
ddlCity.Items[2].Selected=true;
执行后则会出现异常:“不能在 DropDownList 中选择多个项”

C,当然,在下拉框控件(DropDownList)中调用SelectedValue等选中项属性时。如果没有选中项,DropDownList会把第一项默认选中。所以

如果有如下代码也会出现异常:“不能在 DropDownList 中选择多个项”
string strSelect=ddlCity.SelectedValue;
ddlCity.Items[2].Selected=true;

D,诡异的是如果有如果代码与B项相同,仅多加一行代码:ddlCity.SelectedIndex=3;就不会出现异常。代码如下:
ddlCity.Items[1].Selected=true;
ddlCity.Items[2].Selected=true;
ddlCity.SelectedIndex=3;

.net自带控件还是有不完美的地方。记录下来,希望对大家有所帮助。

posted on 2008-04-23 15:25  农民  阅读(2083)  评论(4编辑  收藏  举报

导航