asp.net 在代码隐藏中使用变量读取文本框文本 VB.Net 名称



情况:

我有一个包含 asp 表的 aspx 内容页。表中有 20 行,只有一列。每个单元格中都有一个 asp 文本框。

我有一些代码,vb.net,当用户单击按钮时,它会向文本框添加文本。这一切都很好用。

现在我需要做的,似乎找不到任何完全适合我的情况的东西,当单击第二个按钮时,我需要"循环"文本框。

我有一个隐藏的标签,其中包含实际使用的文本框数量,因此我可以设置 for/next 循环。我似乎无法弄清楚如何准确获取分配给 vb 变量的文本框的内容。

我目前有这个代码:

for x As integer = 1 to fCount
tName = "TextBox" & x
Dim cFileName as String = CType(Controls(tName), TextBox).ToString()
blah blah blah other code
Next

它在尝试为文本框文本分配变量名称 tName 的行上出错。这只是我尝试过的最新代码。我已经尝试了很多其他方法,但我似乎无法正确处理。

我的文本框被命名为TextBox1,TextBox2等,一直到TextBox20。隐藏文件计数器允许我只尝试检索已使用的文件。

任何帮助将不胜感激!!

这是我在计算机上尝试的代码。 它的结构略有不同,希望能纠正您可能遇到的其他错误。 更重要的是,代码有效:

For x As Integer = 1 To 20
Dim tName As String = "TextBox" & x
If Not String.IsNullOrEmpty(CType(Controls(tName), TextBox).Text) Then
Dim cFileName As String = CType(Controls(tName), TextBox).Text
End If
Next

我摆脱了fCount,基于这样的假设:如果只有TextBox5TextBox10包含数据,那么fCount将是 2。 如果这是真的,那么你的循环将不正确,因为你会试图抓住TextBox1TextBox2

我将.ToString更改为.Text,以便为您提供控件的内容。

返回到错误消息,Controls(tName)必须计算页面上的控件,否则将收到错误。

最新更新