Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 从中继器获取锚定标签的值?_Asp.net_Vb.net_Repeater - Fatal编程技术网

Asp.net 从中继器获取锚定标签的值?

Asp.net 从中继器获取锚定标签的值?,asp.net,vb.net,repeater,Asp.net,Vb.net,Repeater,我有一个绑定到Id列的常规html锚链接。我想在中继器中循环并获取Id列的值,但不知道如何进行。我在中继器标记下面有一些代码。我不知道如何只使用客户端锚标记来完成它 <asp:Repeater ID="repSearchResults" runat="server"> <ItemTemplate> <tr> <td><a href='<%#Eval("Id")%>'><%#

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


您需要使锚点runat=server,命名它,然后使用FindControl方法访问它。

您需要使锚点runat=server,命名它,然后使用FindControl方法访问它。

您可以在每个模板内添加一个隐藏字段:

<ItemTemplate>
    <asp:HiddenField ID="hid" runat="server" Value='<%#Eval("Id")%>' />
    ...
</ItemTemplate>

您可以在每个模板内添加一个隐藏字段:

<ItemTemplate>
    <asp:HiddenField ID="hid" runat="server" Value='<%#Eval("Id")%>' />
    ...
</ItemTemplate>

我想我需要这样做,但不确定是否还有其他方法。谢谢。我会尝试一下并让你知道。我想我需要这样做,但不确定是否有其他方法。谢谢。我会尝试一下并让你知道。这也是一个选项,但在你的解决方案和Josh的解决方案之间,两者都有优势吗?@Xaisoft,如果以后你决定使用其他内容作为锚文本,而不是id,Josh的解决方案将不再有效,而隐藏字段可以保证您始终获得id。非常好。Josh的解决方案有效,但我现在将尝试您的解决方案。我决定使用此解决方案,因为您指出,如果锚定标记更改为另一个控件,隐藏字段仍然有效,并且我不必更改为现有锚定标记(添加runat和id)。但我有一个问题。当我在中继器中循环时,我注意到其他每一项都是交替项,所以它实际上跳过了这些项。我添加了一个检查来处理AlternatingItems,但我认为如果您指定AlternatingItem模板,它只是一个AlternatingItem。中继器是否会自动执行此操作?这也是一个选项,但在您的解决方案和Josh的解决方案之间,两者都有优势吗?@Xaisoft,如果以后您决定使用其他内容作为锚文本,而不是id,Josh的解决方案将不再有效,而隐藏字段可以保证您始终获得id。非常好。Josh的解决方案有效,但我现在将尝试您的解决方案。我决定使用此解决方案,因为您指出,如果锚定标记更改为另一个控件,隐藏字段仍然有效,并且我不必更改为现有锚定标记(添加runat和id)。但我有一个问题。当我在中继器中循环时,我注意到其他每一项都是交替项,所以它实际上跳过了这些项。我添加了一个检查来处理AlternatingItems,但我认为如果您指定AlternatingItem模板,它只是一个AlternatingItem。中继器是否自动执行此操作?