C# 中继器内的FindControl不工作

C# 中继器内的FindControl不工作,c#,asp.net,repeater,findcontrol,C#,Asp.net,Repeater,Findcontrol,我有一个中继器,在标记中有一个复选框,它。选中了我想在中继器的ItemDataBound事件中设置的属性。问题是args.Item.FindControl(“checkboxSelect”)返回我null 以下是HTML: <asp:Repeater ID="productRepeater" runat="server" OnItemDataBound="productRepeater_ItemDataBound"> <ItemTemplate>

我有一个中继器,在标记中有一个复选框,它
。选中了我想在中继器的ItemDataBound事件中设置的属性。问题是
args.Item.FindControl(“checkboxSelect”)返回我
null

以下是HTML:

<asp:Repeater ID="productRepeater" runat="server" OnItemDataBound="productRepeater_ItemDataBound">
    <ItemTemplate>
        <tr class="hand">                                
            <td class="hyperLink center-text width50px">
                <fieldset data-role="controlgroup" id="divCheckbox">
                    <input type="checkbox" name="checkboxSelect" id="checkboxSelect" class="custom" />
                    <label for="checkboxSelect">
                    </label>
                </fieldset>                                    
            </td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

我假设问题的原因是
,因为在中继器(未显示)的另一个
中,我在查找控件时没有问题。在当前情况下如何获取控件的任何建议?

FindControl
只能查找服务器端控件,而不能查找普通的HTML标记。因此,在这个特定的中继器中不太可能找到任何东西。但是,您始终可以使用
runat
将HTML标记转换为服务器端控件:

<input runat="server" type="checkbox" name="checkboxSelect" id="checkboxSelect" class="custom" />


现在,每个
复选框select
都将添加到控件集合中,并且
FindControl
将能够找到它。

FindControl
只能找到服务器端控件,而不能找到普通的HTML标记。因此,在这个特定的中继器中不太可能找到任何东西。但是,您始终可以使用
runat
将HTML标记转换为服务器端控件:

<input runat="server" type="checkbox" name="checkboxSelect" id="checkboxSelect" class="custom" />


现在,每个
复选框select
将被添加到控件集合中,并且
FindControl
将能够找到它。

但是复选框没有
RunAt=“Server”
那么解析器如何知道它呢?但是复选框没有
RunAt=“Server”
那么解析器怎么知道它呢?天哪,我怎么会那么愚蠢,没有发现这个:)非常感谢!顺便说一句,你知道如何将
强制转换到asp.net
(复选框)
,因为它会在那里抛出异常。@AntonBelev,这是不可能的,因为从技术上讲,这是两个完全不同的控件。服务器端的
输入用
System.Web.UI.HtmlControls.HtmlInputCheckBox
类表示,请尝试对其进行强制转换。天哪,我怎么会如此愚蠢而没有发现这个:)非常感谢!顺便说一句,你知道如何将
强制转换到asp.net
(复选框)
,因为它会在那里抛出异常。@AntonBelev,这是不可能的,因为从技术上讲,这是两个完全不同的控件。服务器端的
input
System.Web.UI.HtmlControls.HtmlInputCheckBox
类表示,请尝试对其进行强制转换。