0

好的,我在 .NET 中的数据绑定存在相当大的问题。
一些背景信息,我的业务对象层使用的是 CSLA v1.0。
而_clientObj作为继承CSLA.BusinessBase的业务对象作为参数传入

这是代码段:

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 属性。

4

1 回答 1

0
If Not _clientObj.ClientID = Nothing

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

If Not _clientObj.ClientID Is Nothing

但是,我不确定这是否真的是您遇到的问题。

于 2009-11-06T22:22:14.527 回答