在转发器中找到HtmlInputCheckbox控件?

时间:2012-09-14 06:04:32

标签: c# asp.net

protected void Button1_Click1(object sender, EventArgs e)
{
    foreach (RepeaterItem contact in rptList.Items)
    {
        HtmlInputCheckBox cBox = contact.FindControl("chkteklif") as HtmlInputCheckBox;
        if (contact is HtmlInputCheckBox)
        {
            string a = cBox.Value;
        }
    }

}

我使用了这段代码,但是这段代码找不到HtmlInputCheckBox ..任何想法?

3 个答案:

答案 0 :(得分:1)

您应该向我们展示Repeater的aspx标记。但我认为你忘了添加runat="server"

除此之外,您的代码中也有拼写错误。您可能希望使用contact is HtmlInputCheckBox而不是cBox is HtmlInputCheckBox,因为contactRepeaterItem。但这也是多余的,因为你已经将它转换为该类型。因此,您应该检查null

foreach (RepeaterItem contact in rptList.Items)
{
    HtmlInputCheckBox cBox = contact.FindControl("chkteklif") as HtmlInputCheckBox;
    if (cBox != null)
    {
        string a = cBox.Value;
    }
}

html-checkbox应如何显示:

<input id="chkteklif" type="checkbox" runat="server" value="check me" />

或(来自你的评论),试试这个:

<input id="chkteklif" type="checkbox" onclick='<%# "rptlist_onchange(this," + Eval("userid") + " );" %>' value="ilan" /> 

答案 1 :(得分:0)

确保您没有覆盖Page_Load上的控件。你需要检查它是否有回帖。

答案 2 :(得分:0)

HtmlInputCheckBox cbox = (HtmlInputCheckBox)sender;