请教一个有关DropDownList数据绑定的问题
我在WebForm的page_load()事件中让DropDownList与一张表的“年份”字段绑定(假设有记录1999,2000,2001),然后在它的SelectedIndexChanged事件中写Response.Write(DropDownList1.SelectItem.Text);因为网页加载后DropDownList默认显示的就是年份字段的第一条记录(即1999),这样就造成当我选择1999时不会触发SelectedIndexChanged中的事件,有什么办法能解决这个问题呢 请大虾指点,谢谢! 问题点数:10、回复次数:5Top
1 楼saucer(思归)回复于 2003-11-01 04:57:18 得分 10
after the databinding, add a line like
DropDownList1.Items.Insert(0,"");
then, in your SelectedIndexChanged event handler, check for possible empty value, or use a RequiredFieldValidator if you are not using AutoPostBack=trueTop
2 楼srj911(人海茫茫)回复于 2003-11-01 08:43:52 得分 0
upTop
3 楼tingzi(葶子)回复于 2003-11-01 09:41:54 得分 0
在索引值为0的地方插入一个空值DropDownList1.Items.Insert(0,"");Top
4 楼jevain(学习学习再学习)回复于 2003-11-01 10:04:48 得分 0
没办法,这是微软的一个bug
不过可以这样啊,
再写一个过程,读出1999这条记录的数据,把它取出来显示不就相当于select change了吗
Top
5 楼fq_ln(冬天)回复于 2003-11-01 10:55:14 得分 0
这个根本不是微软的bug(本人不是微软拥护者:))
事件的意思很清除是OnChange,你根本没有Change啊,当然不会触发了。
向思归那样,在DropDownList里面插入一条数据放在最前面就行了,然后用一个验证控件只有让它在选择其他相的时候在触发事件。这个例子微软的QuickStart里面就有一个,回去看看吧。Top




