При создании Gridview во время разработки вы можете создать столбец шаблона следующим образом:
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="Label1"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
И в HTML ему будет присвоено уникальное имя, например:
<span id="gvSelect_ctl02_Label1">blahblah</span>
И тогда я могу сослаться на этот ярлык в коде:
CType(e.Row.FindControl("Label1"), Label)
, который является ИДЕАЛЬНЫМ.Но я не могу понять, как это сделать, когда я создаю TemplateFields динамически.У меня есть следующий код в моем «InstantiateIn»:
Dim hl As New HiddenField
hl.ID = "hHidden"
hl.Value = 0
AddHandler hl.DataBinding, AddressOf Me.hl_DataBinding
container.Controls.Add(hl)
И это создает скрытый элемент управления с идентификатором hHidden в каждой строке.Но он не дает ему уникальный идентификатор, такой как «gvSelect_ctl02_hHidden», это просто «hHidden».И я знаю, что есть способы добавить номер строки к нему сам.Но мне было интересно, есть ли способ сделать это автоматически.И все же позволяет мне ссылаться на скрытое поле, как:
CType(e.Row.FindControl("hHidden"), HiddenField)