使用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是字符串列表。
我只是不知道为什么抛出错误并提到一个整数。
答案 0 :(得分:1)
Me.Controls
的类型为ControlCollection
,它期望一个类型为integer的参数,但是您提供的是string类型的参数。
要在页面上查找控件,您可以使用类FindControl
的方法Page
。您可以在MSDN。
您可以更新代码以使用此方法:
Dim myLabel As Label = CType(Me.FindControl("lbladdress" & (i + 1).ToString()), Label)