日期:2014-05-20  浏览次数:20507 次

下拉列表列表赋值的奇怪问题
DropDownList1   =   New   DropDownList
                        DropDownList1   =   _bumen( "zn03459 ")   '该函数返回一个下拉列表对象
                        DropDownList1.SelectedIndex   =   0
                        For   Each   dd   As   ListItem   In   DropDownList1.Items
                                Response.Write(dd.Text   +   "-- "   +   dd.Value   +   " <br> ")
                        Next

结果可以打印


请选择--0
新药部公司人员--151
环河北区--38
销售三部--101
销售二部--9

但是下拉列表里却没有任何选择项,求教为什么

------解决方案--------------------
DropDownList1 = New DropDownList '产生一个DropDownList对象,假设为A,
DropDownList1 = _bumen( "zn03459 ")

典型的对象引用问题,第一句创建了一个DropDownlist对象,假设为A,通过DropDownList1可以访问到,但是第二句将DropDownList1指向另外一个对象。对象A的地址已经没有任何变量指向他了,.Net垃圾回收机制会清空A对象。

你下拉列表没有任何选择项,估计跟这个机制有关。
------解决方案--------------------
_bumen( "zn03459 ",DropDwonList1) 把它传到函数里面去,对它进行添加item的操作,而不是在函数中New一个dropdownlist
------解决方案--------------------
学习,