Я видел несколько примеров кода, где кто-то ссылался на элемент управления по имени, похожий на следующий:
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)
не находит его.
Есть идеи?