2009-11-05 80 views
0

好的,我在.NET中遇到了数据绑定的问题。
一些背景信息,我的业务对象层正在使用CSLA v1.0。
而_clientObj传递作为一个参数为继承CSLA.BusinessBase使用CSLA BO进行数据绑定

这里业务对象是代码段:

Dim nextClient As New ComboBox With { _ 
      .Name = "txtClientAtt" & (ClientBoxes.Count + 1).ToString(), _ 
      .DisplayMember = "FullNameAndID", .ValueMember = "ClientID", _ 
      .Tag = _clientObj} 
nextClient.DataSource = ClientList.GetClientList(SelectedSite) 


nextClient.DataBindings.Add("SelectedValue", _clientObj, "ClientID") 
If Not _clientObj.ClientID = Nothing AndAlso nextClient.SelectedValue Is Nothing Then 
    Debug.Print("How could I ever be inside this conditional????") 
End If 

这调试语句确实得到,如果_clientObj达到一个预先存在具有分配的ID值的对象。这怎么可能?我假设如果DataSource对象具有初始值,那么添加数据绑定应立即设置ComboBox的.SelectedValue属性。

回答

0
If Not _clientObj.ClientID = Nothing 

不是测试空值的正确方法。您应该使用:

If Not _clientObj.ClientID Is Nothing 

不过,我不知道这其实就是你有或没有的问题。