使用Telerik OpenAccess后面的代码中的文本框的简单绑定值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Telerik OpenAccess后面的代码中的文本框的简单绑定值相关的知识,希望对你有一定的参考价值。

我找不到一个完整的例子。在网格和组合框上找到吨,但不是文本框。此测试是从具有TypeCode =“0”的UserPhoneType表中查找“PhoneTypeName”,并将该第一个值分配给asp.net文本框。

目前,当我将文本框设置为“phonetype.FirstOrDefault.PhoneTypeName.ToString”时,我得到“对象引用未设置为对象的实例”

Using dbContext As New EntitiesModel()
    Dim phonetype As IEnumerable(Of User_PhoneType) = dbContext.User_PhoneTypes.Where(Function(c) c.PhoneTypeCode = "O")
    mytextbox.Text = phonetype.FirstOrDefault.PhoneTypeName.ToString
End Using

- - 编辑 - -

我改变了建议。我还成功地将整个PhoneTypes列表绑定到一个droplist控件...以确认数据是否可访问。它必须是我在这里查询表中的单个记录的方式。

我得到了相同的错误,但在“Dim type = phonetype.First ...”记录在表中,但它似乎没有用我的代码提取。

Dim phonetype As IEnumerable(Of User_PhoneType) = dbContext1.User_PhoneTypes.Where(Function(c) c.PhoneTypeCode = "M")
Dim type = phonetype.FirstOrDefault
If Object.ReferenceEquals(type, Nothing) = False And Object.ReferenceEquals(type.PhoneTypeName, Nothing) = False Then
   mytextbox.Text = type.PhoneTypeName.ToString
End If
答案

通常,获得此异常有以下两种可能的原因:

1)phonetype列表为空,FirstOrDefault方法返回Nothing值。

2)phonetype列表的第一个元素的PhoneTypeName属性具有Nothing值。

为了确保您不会将Object引用设置为对象异常的实例,我建议您在设置TextBox值之前添加Nothing检查。它可能类似于下面的那个:

Dim type = phonetype.FirstOrDefault
If Object.ReferenceEquals(type, Nothing) = False And Object.ReferenceEquals(type.PhoneTypeName, Nothing) = False Then
    mytextbox.Text = type.PhoneTypeName.ToString
End If
另一答案

固定它。

我能够使用以下方法查看生成的SQL字符串:mytextbox.text = phonetype.tostring

我看到SQL包含“NULL ='O'”

我做的就像这样的例子?!?但是,当我将.ToString添加到被查询的字段时,它起作用了。

所以决赛看起来像这样:

Using dbContext As New EntitiesModel()
    Dim phonetype As IEnumerable(Of User_PhoneType) = dbContext.User_PhoneTypes.Where(Function(c) c.PhoneTypeCode.**ToString** = "O")
    mytextbox.Text = phonetype.FirstOrDefault.PhoneTypeName.ToString
End Using

BTW,Dimitar指向首先检查null是好建议(+1)。他所说的价值并不算什么。

以上是关于使用Telerik OpenAccess后面的代码中的文本框的简单绑定值的主要内容,如果未能解决你的问题,请参考以下文章

“提交已在进行中”尝试在 Telerik OpenAccess ORM 中保存更改

Telerik OpenAccess 还是 Mindscape LightSpeed?

Telerik OpenAccess 和 where 子句中的多个条件

Telerik RadDatePicker 隐藏在 IE11 中的 iframe 后面

Telerik.WebControls.RadAjaxManager 导致下拉列表不触发处理程序

Telerik Fiddler Web Debugger 过滤选择监测网站