无法按名称在我的页面上找到控件

时间:2019-02-05 20:38:04

标签: asp.net .net vb.net webforms

我看到了多个代码示例,其中有人通过名称引用了控件,类似于以下内容:

Dim NameBox As TextBox = Me.Controls("ID of control")

我试图做同样的事情,但是遇到错误。我的页面包括以下几种:

<asp:TextBox runat="server" ID="txtDaEName1" Width="300px" MaxLength="500"></asp:TextBox>
<asp:TextBox runat="server" ID="txtDaEName2" Width="300px" MaxLength="500"></asp:TextBox>
<asp:TextBox runat="server" ID="txtDaEName3" Width="300px" MaxLength="500"></asp:TextBox>

我正在尝试做这样的事情:

Do While SQLdr.Read()
    NameBox = Me.Controls("txtDaEName" & iCounter.ToString)
    NameBox.Text = SQLdr("NameOfItem")
    iCounter += 1
LOOP

但是,我遇到一个错误。当我将NameBox分配给Me.Controls("txtDaEName" & iCounter)时,我得到了错误:

"Conversion from string ""txtDaEName1"" to type 'Integer' is not valid."

我已经看到一些地方说Me.Controls()在圆括号中需要一个整数值,并且该错误似乎支持这一点...但是我还看到在其他使用Me.Controls的地方张贴的代码示例。 (“ TheIDName”),它似乎可以正常工作。

TryCast(Me.FindControl("txtDaEName" & iCounter.ToString), Textbox)找不到它。

有什么想法吗?

0 个答案:

没有答案