欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#获取动态生成的CheckBox值

程序员文章站 2022-06-21 08:53:01
给你推荐两种方法,一种是向服务器容器控件里添加子控件(即向runat=server的控件的controls里添加控件),第二种是就是你的这种拼接html的方法不过这种方法必...

给你推荐两种方法,一种是向服务器容器控件里添加子控件(即向runat=server的控件的controls里添加控件),第二种是就是你的这种拼接html的方法不过这种方法必须设置控件的name属性,然后在request.form["控件的name"]里获得控件的值,推荐使用第一种方法,更直观一些,第二种无法记录提交以后的状态,代码如下

第一种

后台

using system.web.ui.htmlcontrols;
 protected void page_load(object sender, eventargs e)
  {
    for (int i = 0; i < 4; i++)
    {
      htmlinputcheckbox htmlinputcheckbox = new htmlinputcheckbox();//这里用checkbox也是一样的
      htmlinputcheckbox.id = "check" + i;
      container.controls.add(htmlinputcheckbox);
    }
  }
  protected void button1_click(object sender, eventargs e)
  {
    for (int i = 0; i < 4; i++)
    {
      label1.text += "<br/>" + (container.findcontrol("check" + i) as htmlinputcheckbox).checked.tostring();
    }
  }

前台

<form id="form1" runat="server">
  <div id="container" runat="server">
  </div>
  <asp:button id="button1" runat="server" text="button" onclick="button1_click" />
  <asp:label id="label1" runat="server"></asp:label>
  </form>

第二种

后台

 public string getcheckbox()
  {
    return "<input name=\"checkbox1\" type=\"checkbox\"/>";//这里必须设置name,id没有用
  }
  protected void button1_click(object sender, eventargs e)
  {
    if (request.form["checkbox1"] == null)//如果checkbox1为未选中状态request.form["checkbox1"]值为null
    {
      label1.text += "<br/>fasle";
    }
    else//如果checkbox1为选中状态request.form["checkbox1"]值为on
    {
      label1.text += "<br/>true";
    }
  }

前台

<form id="form1" runat="server">
  <div>
    <%=getcheckbox() %>
  </div>
  <asp:button id="button1" runat="server" text="button" onclick="button1_click" />
  <asp:label id="label1" runat="server"></asp:label>
  </form>