给你推荐两种方法,一种是向服务器容器控件里添加子控件(即向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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我