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

超级奇怪问题,大家来看一看
四级联动的下拉框,联动没有问题,但是在单击提交按钮执行SQL语句时发生了不明情况:

我这样取到第四个下拉框的值:string   xiang=DropDownList4.SelectedItem.Text   ;
运行提示该行:未将对象引用设置到对象的实例

但是如果改成这样:string   xiang=DropDownList4.SelectedIndex.ToString   ()     ;
就没有问题,这是为什么?

------解决方案--------------------
改成这样:
string xiang = string.Empty;
if (DropDownList4.SelectedItem != null)
{
xiang = DropDownList4.SelectedItem.Text;
}
因为如果DropDownList4不选的话DropDownList4.SelectedItem会是null,不存在Text属性,但DropDownList4.SelectedIndex不选的话值是-1,-1是可以转换成字符串的,所以string xiang=DropDownList4.SelectedIndex.ToString();没有错误,但xiang值为 "-1 "。
------解决方案--------------------
if (DropDownList4.SelectedItem != null)
.....
------解决方案--------------------
楼主的DropDownList肯定是AutoPostBack型地!


第一次运行后就出错了!
------解决方案--------------------
不信,调试一下看什么时候出错的错误就知道!