C#获取动态生成的CheckBox值
程序员文章站
2023-11-14 19:25:28
给你推荐两种方法,一种是向服务器容器控件里添加子控件(即向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>