关于checkbox的各种情况

相比大家再用checkbox时,为它的循环遍历发愁吧

下面就给大家总结一下:

aspx设计页面
//这个是检测按钮,检测下面的checkbox是否被选中。选中时打印其值
<asp:Button ID="Button1" runat="server" Text="检测" OnClick="Button1_Click" />
第一种设计:(.net 自带的)
<asp:CheckBox ID="CheckBox1" runat="server" Text="报纸" />
<asp:CheckBox ID="CheckBox2" runat="server" Text="杂志" />
<asp:CheckBox ID="CheckBox3" runat="server" Text="小说" />
<asp:CheckBox ID="CheckBox4" runat="server" Text="词典" />
第二种设计:(html 自带的,但含有runnat="server")
<input id="CheckBox1" type="checkbox" name="aa" runat="server" value="报纸"/>
<input id="CheckBox2" type="checkbox" name="aa" runat="server" value="杂志"/>
第三种设计:(html 自带的)
<input id="CheckBox1" type="checkbox" name="aa" value="报纸"/>
<input id="CheckBox2" type="checkbox" name="aa" value="杂志"/>
aspx.cs文件 (将按照对应的上面的三种设计模式去写后台代码。其他的单选按钮也类似。)
protected void Button1_Click(object sender, EventArgs e)
    {
       //这个是上面第一种模式
        foreach (Control ct in form1.Controls)
        {
            if (ct.GetType().ToString().Equals("System.Web.UI.WebControls.CheckBox"))
            {
                CheckBox cb = (CheckBox)ct;
                if (cb.Checked == true)
                {
                    Response.Write(cb.Text);
                }
            }
        }
       //这个是上面第二种模式。(直接用request取值,会报错的。不信试试)
        foreach (Control ct in form1.Controls)
        {
            if (ct.GetType().ToString().Equals("System.Web.UI.HtmlControls.HtmlInputCheckBox"))
            {
                HtmlInputCheckBox cb = (HtmlInputCheckBox)ct;
                if (cb.Checked == true)
                {
                    Response.Write(cb.Value);
                }
            }
        }
       //这个是上面第三种模式。(没有runnat="server",用request取值 最简单)
       Response.Write(Request["aa"].ToString());
    }

-------------------------------------------

怎么样 是不是感觉很简单呀!

原文地址:https://www.cnblogs.com/ypyhy/p/2877103.html