aspx后台遍历控件

 1 aspx设计页面 
 2 //这个是检测按钮,检测下面的checkbox是否被选中。选中时打印其值 
 3 <asp:Button ID="Button1" runat="server" Text="检测" OnClick="Button1_Click" /> 
 4 第一种设计:(.net 自带的) 
 5 <asp:CheckBox ID="CheckBox1" runat="server" Text="报纸" /> 
 6 <asp:CheckBox ID="CheckBox2" runat="server" Text="杂志" /> 
 7 <asp:CheckBox ID="CheckBox3" runat="server" Text="小说" /> 
 8 <asp:CheckBox ID="CheckBox4" runat="server" Text="词典" /> 
 9 第二种设计:(html 自带的,但含有runnat="server") 
10 <input id="CheckBox1" type="checkbox" name="aa" runat="server" value="报纸"/> 
11 <input id="CheckBox2" type="checkbox" name="aa" runat="server" value="杂志"/> 
12 第三种设计:(html 自带的) 
13 <input id="CheckBox1" type="checkbox" name="aa" value="报纸"/> 
14 <input id="CheckBox2" type="checkbox" name="aa" value="杂志"/> 
15 aspx.cs文件 (将按照对应的上面的三种设计模式去写后台代码。其他的单选按钮也类似。) 
16 protected void Button1_Click(object sender, EventArgs e) 
17     { 
18        //这个是上面第一种模式 
19         foreach (Control ct in form1.Controls) 
20         { 
21             if (ct.GetType().ToString().Equals("System.Web.UI.WebControls.CheckBox")) 
22             { 
23                 CheckBox cb = (CheckBox)ct; 
24                 if (cb.Checked == true) 
25                 { 
26                     Response.Write(cb.Text); 
27                 } 
28             } 
29         } 
30        //这个是上面第二种模式。(直接用request取值,会报错的。不信试试) 
31         foreach (Control ct in form1.Controls) 
32         { 
33             if (ct.GetType().ToString().Equals("System.Web.UI.HtmlControls.HtmlInputCheckBox")) 
34             { 
35                 HtmlInputCheckBox cb = (HtmlInputCheckBox)ct; 
36                 if (cb.Checked == true) 
37                 { 
38                     Response.Write(cb.Value); 
39                 } 
40             } 
41         } 
42        //这个是上面第三种模式。(没有runnat="server",用request取值最简单) 
43        Response.Write(Request["aa"].ToString()); 
44     }

 

posted @ 2013-12-03 19:31  c-Sharp  阅读(396)  评论(0)    收藏  举报