C#获取动态生成的CheckBox值

前端技术 2023/09/02 C#

给你推荐两种方法,一种是向服务器容器控件里添加子控件(即向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>

本文地址:https://www.stayed.cn/item/4051

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。