从后面的代码引用我的asp.net页面中的标签

时间:2015-02-15 21:09:54

标签: asp.net vb.net

使用VS 2013 VB。

我有以下代码行

Dim myLabel As Label = CType(Me.Controls("lbladd"), Label)

每当我运行页面时,我都会收到以下错误

  

从字符串到整数的转换无效

我的asp.net页面上有几个标签,每个标签的id加一个数字。我最终的目标是遍历每个标签,并使用类似下面的内容为每个标签添加一个字符串

        For i = 0 To splitAddress.Count - 1

        Dim myLabel As Label = CType(Me.Controls("lbladdress" & i + 1), Label)
        myLabel.Text = splitAddress(i)

    Next

其中splitaddress是字符串列表。

我只是不知道为什么抛出错误并提到一个整数。

1 个答案:

答案 0 :(得分:1)

Me.Controls的类型为ControlCollection,它期望一个类型为integer的参数,但是您提供的是string类型的参数。

要在页面上查找控件,您可以使用类FindControl的方法Page。您可以在MSDN

中查看信息

您可以更新代码以使用此方法:

Dim myLabel As Label = CType(Me.FindControl("lbladdress" & (i + 1).ToString()), Label)