因为DropDownList 默认把第一个选项作为选中项,但是第一个中没有value值,.net自动把text值作为SelectedValue,同样的,当只有value而没有text时,它也会把value值作为text显示在选项中!完毕。
楼上回答了,我补充一点,楼上说这里是如果DropDownList的Value为空的话Asp.net会把text的值作为value的值,这里是没错的,其实归结原因还是html中select标签属性定义所致,这里我们可以去看很多兼容的js库,他们在处理select标签的时候都会去处理value和text这两个属性的,如果value属性值为空时,此时就去text的值作为value的属性值。其实Asp.Net中DropDownList控件生成后就是一个select控件。
如果要弄个特殊的话,设置Value=0吧。别不设置。
<asp:ListItem Value="">select....</asp:ListItem>