首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

初学者有关问题:为何dropdownlist控件会提示“未将对象引用设置到对象的实例”?着急

2012-01-28 
菜鸟问题:为何dropdownlist控件会提示“未将对象引用设置到对象的实例”??着急啊~~代码如下:源代码:If Not d

菜鸟问题:为何dropdownlist控件会提示“未将对象引用设置到对象的实例”??着急啊~~
代码如下:
源代码:

If Not ds.Tables("user").DefaultView.Item(0).Item("u_zhuanye").GetType Is System.DBNull.Value Then
  Dim a As String = ds.Tables("user").DefaultView.Item(0).Item("u_zhuanye")
  Me.ddl_zhuanye.SelectedItem.Text = Trim(a)---这句错了
End If

错误如下:
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。


求教:各位大侠告诉我应该怎么办?详细点。谢谢。
 


[解决办法]
Me.ddl_zhuanye.SelectedItem.Text = Trim(a)---这句错了 
我奇怪的是你这句的目的是什么?
你在看看SelectIndex值是多少?很有可能是-1!
int pp = ddl_zhuanye.SelectedIndex;
在这里设置个断点试试。
[解决办法]
你的当然不行啦

SelectedItem 是DropDownList的只读属性。 你要往只读属性上面付值,你说出错不出错?

如果要指定在DropDownList中选中的项目,你可以使用如下的方法:

1. d.SelectedValue = Trim(a);//要使用这句话,你要保证在付值得时候你的DropDownList里面已经有该项目存在了,否则的话会出异常

2. ListItem i = d.Items.FindByText(Trim(a));
if(null != i) i.Selected = true; 这个方法可以避免上面的异常。


[解决办法]
对是只读属性,

热点排行