在转发器中查找 HtmlInputCheckbox 控件


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。 知道吗?

您应该向我们展示Repeater的 aspx 标记。但我假设你忘记添加runat="server".

除此之外,您的代码中还有一个拼写错误。您可能不想使用cBox is HtmlInputCheckBox contact 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" /> 

确保不会覆盖Page_Load上的控件。 您需要检查它是否是回发。

试试

HtmlInputCheckBox cbox = (HtmlInputCheckBox)sender;

相关内容

  • 没有找到相关文章

最新更新