函数FindControl无法正常工作

时间:2014-05-27 11:49:00

标签: html asp.net vb.net findcontrol

我正在尝试获取动态创建的文本框的值。

Dim idReponse As String
idReponse = GlobalVariableAddOneWeight.ArrayReponseId(i)

Dim textboxId As String
textboxId = "txtWeight" + idReponse

Dim tb As New TextBox()
tb = Me.Div2.FindControl(textboxId)

Dim Poids As Integer = CInt(tb.Text)

我已经在另一个页面中尝试了相同的代码并且它正在工作但是在这一个中我遇到了这个错误:

  

对象引用未设置为对象的实例

1 个答案:

答案 0 :(得分:0)

我的猜测是tb实际上并没有被设置为任何东西。

确保Div2实际上是ID为textboxId的元素的当前命名容器。

此外,您需要将tb投射到TextBox才能调用其Text媒体资源。我会像这样打破它来试图缩小问题的范围:

Dim obj as Object = Me.Div2.FindControl(textboxId)
Dim tb as TextBox = CType(obj, TextBox)
Dim Poids As Integer = CInt(tb.Text)

通过这种方式,您可以查看问题是使用FindControl获取对象本身还是将对象强制转换为TextBox