我有一个绑定到Id列的常规html锚链接。我想循环遍历转发器并获取Id列的值,但无法弄清楚如何。我的转发器标记下面有一些代码。我不知道如何使用客户端锚标记来做到这一点。
<asp:Repeater ID="repSearchResults" runat="server">
<ItemTemplate>
<tr>
<td><a href='<%#Eval("Id")%>'><%#Eval("Id")</a></td>
</tr>
</asp:Repeater>
Protected Sub btnGetIds_Click(ByVal sender As Object, ByVal e As System.EventArgs)
For Each item As RepeaterItem In repSearchResults.Items
If (item.ItemType = ListItemType.Item) Then
'Get Id here
End If
Next
End Sub
答案 0 :(得分:2)
您需要使锚定runat = server,命名它,然后使用FindControl方法访问它。
答案 1 :(得分:2)
您可以在每个模板中添加隐藏字段:
<ItemTemplate>
<asp:HiddenField ID="hid" runat="server" Value='<%#Eval("Id")%>' />
...
</ItemTemplate>
然后在循环内部:
If item.ItemType = ListItemType.Item Then
Dim ctrl As HiddenField = TryCast(item.FindControl("hid"), HiddenField)
If ctrl IsNot Nothing Then
Dim id As String = ctrl.Value
' do something with the id
End If
End If