如何从C#中的中继器中找到td?

如何从C#中的中继器中找到td?,c#,asp.net,find,controls,repeater,C#,Asp.net,Find,Controls,Repeater,我有td中继器。我想在条件下显示和隐藏它,我使用了以下代码: 我的HTML代码是: <table cellpadding="0" cellspacing="0"> <tr valign="top" class="list_heading"> <td width="50%"> Column </td> <td width="20%">

我有td中继器。我想在条件下显示和隐藏它,我使用了以下代码:

我的HTML代码是:

<table cellpadding="0" cellspacing="0">
    <tr valign="top" class="list_heading">
        <td width="50%">
            Column
        </td>
        <td width="20%">
            Operation
        </td>
        <td width="19%" style="display: none;">
            And/Or
        </td>
        <td width="20%">
            Value
        </td>
        <td width="20%" id="tdvalue2Header" visible="false" runat="server">
            Value2
        </td>
        <td width="10%">
            Remove
        </td>
    </tr>
    <tbody>
        <asp:Repeater ID="rpSearchItems" runat="server" OnItemDataBound="rpSearchItems_ItemDataBound">
            <ItemTemplate>
                <tr>
                    <td style="display: none;">
                    </td>
                    <td>
                        <%# Eval("DisplayName") %>
                    </td>
                    <td>
                        <%# Eval("Operation") %>
                    </td>
                    <td style="display: none;">
                        <%# Eval("AndOr") %>
                    </td>
                    <td>
                        <%# Eval("Value") %>
                    </td>
                    <td id="tdValue2" runat="server">
                        <%# Eval("Value2") %>
                    </td>
                    <td align="center">
                        <asp:ImageButton ID="ibtnRemoveSearchItem" ImageUrl="~/Admin/Images/delete_icon.png"
                            CommandArgument=' <%# Eval("Id") %>' CssClass="RemoveUitem" ToolTip="Remove Item"
                            runat="server" OnClick="ibtnRemoveSearchItem_Click" />
                    </td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>
    </tbody>
    <tr valign="top" class="list_bottom">
        <td colspan="6">
            &nbsp;
        </td>
    </tr>
</table>  

始终tdValue2我得到空值,我不知道哪里错了,请帮助我。

要查找第一个实例,可以使用

TableCell tdValue2 = (TableCell)rpSearchItems.Items[0].FindControl("tdValue2");

FindControl
只能找到该控件的直接子级。在这种情况下,
tdValue2
是中继器项的子项,而不是中继器本身。此外,
对应于服务器端控件
HtmlTableCell
(正如您在注释代码中已经指定的那样)。因此,正确的行应该是:

HtmlTableCell tdValue2 = (HtmlTableCell)e.Item.FindControl("tdValue2");
FindControl(“tdValue2”)
不递归搜索。
HtmlTableCell tdValue2 = (HtmlTableCell)e.Item.FindControl("tdValue2");