且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Repeater和CheckBox控件(客户端和服务器端)实行全选或多条选择

更新时间:2022-01-14 15:58:07

客服端代码
 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RepeaterCheckBox1.aspx.cs" Inherits="CheckBoxes.RepeaterCheckBox1" %>
 2
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4
 5 <html xmlns="http://www.w3.org/1999/xhtml" >
 6 <head runat="server">
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 8     <title>Repeater和CheckBox控件(客户端和服务端)实行全选和多条选择</title>
 9                <style type="text/css">
10         .HiddenText label {display:none;}
11     </style>
12
13 </head>
14 <body>
15     <form id="form1" runat="server">
16     <div><table>
17     <asp:Repeater runat="server" ID="Repeater1">
18 <ItemTemplate>
19     <tr>
20         <td>
21          <%--服务器端   <asp:CheckBox ID="CheckBox2" runat="server" Text= CssClass="HiddenText" AutoPostBack="true" />--%>
22            <input type='checkbox' id='ChkSelect' class='nogrid' runat="server"  value='<%#Eval("ItemID")%>'/> 
23                               
24                     
25                 </td>
26          </tr>
27
28 </ItemTemplate>
29 </asp:Repeater>
30 </table>
31 <input id="Checkbox1" type="checkbox" onclick='selectAll()' />
32 <asp:Button ID="Button1" runat="server" Text="Delete" OnClick="Button1_Click" />
33     </div>
34     </form>
35 </body>
36 </html>
37     <script language="javascript" type="text/javascript" >
38         ///选中所有的CheckBox
39         function selectAll()
40         {
41             // 获得用户页面中的所有的 输入功能的控件getElementById("ChkSelect").
42             var checkbox = document.getElementsByTagName("input");
43             if(checkbox[0].checked == true)
44             {
45                 for (var i=0; i<checkbox.length; i++)
46                    checkbox[i].checked = false;
47             }
48             else
49             {
50                 for (var i=0; i<checkbox.length; i++)
51                     checkbox[i].checked = true;
52             }
53         }
54     </script>
服务器端代码
 1 using System;
 2 using System.Data;
 3 using System.Configuration;
 4 using System.Collections;
 5 using System.Web;
 6 using System.Web.Security;
 7 using System.Web.UI;
 8 using System.Web.UI.WebControls;
 9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11 using System.Collections.Generic;
12
13 namespace CheckBoxes
14 {
15     public partial class RepeaterCheckBox1 : System.Web.UI.Page
16     {
17         /// <summary>
18         /// 加载
19         /// 涂聚文
20         /// </summary>
21         /// <param name="sender"></param>
22         /// <param name="e"></param>
23         protected void Page_Load(object sender, EventArgs e)
24         {
25             //第一次加载页
26             if (!Page.IsPostBack)
27             {
28                 DataTable dt = new DataTable();
29                 dt.Columns.Add(new DataColumn("ItemID", System.Type.GetType("System.Int32")));
30                 dt.Columns.Add(new DataColumn("ItemDescription", System.Type.GetType("System.String")));
31                 dt.Columns.Add(new DataColumn("Flag", System.Type.GetType("System.Boolean")));
32
33                 //Add some data
34                 dt.Rows.Add(1, "apple", false);
35                 dt.Rows.Add(2, "carrot", true);
36                 dt.Rows.Add(3, "peach", false);
37                 Repeater1.DataSource = dt;
38                 Repeater1.DataBind();
39             }
40         }
41         /// <summary>
42         /// 选择
43         /// </summary>
44         /// <param name="sender"></param>
45         /// <param name="e"></param>
46         protected void Button1_Click(object sender, EventArgs e)
47         {
48             string s = "";
49             for (int i = 0; i < this.Repeater1.Items.Count; i++)
50             {
51                 //客户端
52                 HtmlInputCheckBox chb = (HtmlInputCheckBox)this.Repeater1.Items[i].FindControl("ChkSelect");
53                 //CheckBox chb = (CheckBox)this.Repeater1.Items[i].FindControl("CheckBox2");  //服务器端            
54                 if (chb.Checked == true) 
55                 {
56                     s = s + chb.Value;//chb.Text //服务器端
57                 }
58             }
59             Response.Write(s);
60         }
61     }
62 }
63