从.NET的引导程序中的输入复选框标签中获取值

我正在尝试将Bootstrap(devoops.me)中的复选框与ASP.NET结合使用。

在页面上,我有

<div class="row">
    <div class="col-lg-12">
        <div class="checkbox">
            <label>
                <input type="checkbox" name="testme" />some text for checkbox to choose
                <i class="fa fa-square-o"></i>
            </label>
        </div>
    </div>
</div>
<div class="row">
    <div class="col-lg-12">
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/><br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
</div>

在服务器端:

protected void Button1_Click(object sender,EventArgs e)
    {
        HtmlInputCheckBox chk = (HtmlInputCheckBox)this.Form.FindControl("testme");
        if (chk.Checked == true)
        {
            Label1.Text = "YES it's checked";
        }
    }

但是我得到的都是空的。

我不想使用jQuery或JavaScript。有可能吗?

有人可以帮助我吗?

qqmcgs2009 回答:从.NET的引导程序中的输入复选框标签中获取值

FindControl搜索ASP.NET控件。为了将复选框注册为asp.net控件,请提供一个ID并添加runat="server"属性。

<div class="row">
    <div class="col-lg-12">
        <div class="checkbox">
            <label>
                <input type="checkbox" id="testme" runat="server" />some text for checkbox to choose
                <i class="fa fa-square-o"></i>
            </label>
        </div>
    </div>
</div>
<div class="row">
    <div class="col-lg-12">
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/><br />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
</div>

服务器端代码可以简化如下:

protected void Button1_Click(object sender,EventArgs e)
{
    if (testme.Checked == true)
    {
        Label1.Text = "YES it's checked";
    }
}

由于该复选框是已注册的控件,因此可以直接在后面的代码中对其进行访问。

本文链接:https://www.f2er.com/3104567.html

大家都在问