我看到了多个代码示例,其中有人通过名称引用了控件,类似于以下内容:
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)
找不到它。
有什么想法吗?