好的,我在 .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 属性。