aspx設計頁面 //這個是檢測按鈕,檢測下面的checkbox是否被選中。選中時打印其值 //https://www.cnblogs.com/pwblog/articles/3456385.html <asp:Button ID="Button1" runat="server" Text="檢測" OnClick="Button1_Click" /> 第一種設計:(.net 自帶的) <asp:CheckBox ID="CheckBox1" runat="server" Text="報紙" /> <asp:CheckBox ID="CheckBox2" runat="server" Text="雜誌" /> <asp:CheckBox ID="CheckBox3" runat="server" Text="小說" /> <asp:CheckBox ID="CheckBox4" runat="server" Text="詞典" /> 第二種設計:(html 自帶的,但含有runnat="server") <input id="CheckBox1" type="checkbox" name="aa" runat="server" value="報紙"/> <input id="CheckBox2" type="checkbox" name="aa" runat="server" value="雜誌"/> 第三種設計:(html 自帶的) <input id="CheckBox1" type="checkbox" name="aa" value="報紙"/> <input id="CheckBox2" type="checkbox" name="aa" value="雜誌"/> aspx.cs文件 (將按照對應的上面的三種設計模式去寫後臺代碼。其餘的單選按鈕也相似。) protected void Button1_Click(object sender, EventArgs e) { //這個是上面第一種模式 foreach (Control ct in form1.Controls) { if (ct.GetType().ToString().Equals("System.Web.UI.WebControls.CheckBox")) { CheckBox cb = (CheckBox)ct; if (cb.Checked == true) { Response.Write(cb.Text); } } } //這個是上面第二種模式。(直接用request取值,會報錯的。不信試試) foreach (Control ct in form1.Controls) { if (ct.GetType().ToString().Equals("System.Web.UI.HtmlControls.HtmlInputCheckBox")) { HtmlInputCheckBox cb = (HtmlInputCheckBox)ct; if (cb.Checked == true) { Response.Write(cb.Value); } } } //這個是上面第三種模式。(沒有runnat="server",用request取值最簡單) Response.Write(Request["aa"].ToString()); } 另外一種方式: private void FindAllPageControl(ControlCollection controlCollection) { for (int i = 0; i < controlCollection.Count; i++) { if (controlCollection[i].GetType() == typeof(NumericBox)) //System.Web.UI.WebControls.TextBox { if ((controlCollection[i] as NumericBox).ID != "nbPrice") { (controlCollection[i] as NumericBox).DecimalValue = 0; } } if (controlCollection[i].HasControls()) { FindAllPageControl(controlCollection[i].Controls); } } } //調用 FindAllPageControl(this.Page.Controls)