При создании Gridview во время разработки вы можете создать столбец шаблон:Динамический шаблон 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)
Что такое «контейнер» в вашем примере? –
umm .. контейнер ByVal Как System.Web.UI.Control? Что такое «TemplateField» .. – Dan