从转发器获取锚标签的价值?

时间:2011-08-04 14:34:59

标签: asp.net vb.net repeater

我有一个绑定到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

2 个答案:

答案 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