
<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="Grdview_HtmlChekbox.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">...
// 说明:Javascript 控制 CheckBox 的全选与取消全选 // 整理:http://www.CodeBit.cn 
function checkAll(name)
...{
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++) 
...{
if((el[i].type=="checkbox") && (el[i].name==name)) 
...{
el[i].checked = true;
}
}
}
function clearAll(name)
...{
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++) 
...{
if((el[i].type=="checkbox") && (el[i].name==name)) 
...{
el[i].checked = false;
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="checkbox" name="test" value="" onclick="if(this.checked==true) { checkAll('test'); } else { clearAll('test'); }" /> 字母全选开关
<input type="checkbox" name="test" value="a" /> a
<input type="checkbox" name="test" value="b" /> b
<input type="checkbox" name="test" value="c" /> c
<input type="checkbox" name="test" value="d" /> d
<input type="checkbox" name="test" value="e" /> e
<input type="checkbox" name="test" value="f" /> f
<input type="checkbox" name="test" value="g" /> g
<br />
<input type="checkbox" name="num" value="" onclick="if(this.checked==true) { checkAll('num'); } else { clearAll('num'); }" /> 数字全选开关
<input type="checkbox" name="num" value="1" /> 1 <input type="checkbox" name="num" value="2" /> 2
<input type="checkbox" name="num" value="3" /> 3 <br />
<br />
<input type="button" value="选择所有的字母" onclick="checkAll('test')" />
<input type="button" value="清空选中的字母" onclick="clearAll('test')" /> <br />
<br />
<input type="button" value="选择所有的数字" onclick="checkAll('num')" />
<input type="button" value="清空选中的数字" onclick="clearAll('num')" />
<asp:CheckBox ID="CheckBox1" runat="server" /><br />
</div>
<div style="width: 100px; height: 100px">
<asp:GridView ID="GridView1" runat="server" Font-Size="10pt" Height="215px" Width="698px" DataKeyNames="id">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%...-- <asp:CheckBox ID="CheckBox2" name ="test" runat="server" />--%>
<input value ="<%#Eval("id") %>" name = "chOne" type="checkbox" />
</ItemTemplate>
<HeaderTemplate>
<input id="chkAll" name ="chkAll" onclick="if(this.checked==true){checkAll('chOne');}else{clearAll('chOne')}" type="checkbox" />
</HeaderTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="删除" /></div>
<div>
<input type="radio" name ="1" id="group1" value="a"/>
<input type="radio" id="Radio1" name ="1" value="b"/>
<input type="radio" id="group2" value="a"/>
<input type="radio" id="Radio3" value="b"/>
</div>
</form>
</body>
</html>
----------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
...{
protected void Page_Load(object sender, EventArgs e)
...{
if (!Page.IsPostBack)
...{
bind();
}
}
//数据绑定
protected void bind()
...{
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=test");
SqlDataAdapter da = new SqlDataAdapter("select * from users",conn);
DataSet DS = new DataSet();
conn.Open();
da.Fill(DS,"users");
conn.Close();
this.GridView1.DataSource = DS.Tables["users"];
this.GridView1.DataBind();
}
//
protected void Button1_Click(object sender, EventArgs e)
...{
if (Request.Form["chOne"]!=null)
...{
string ids = Request.Form["chOne"].ToString();
}
}
}
这篇博客详细介绍了如何在ASP.NET的GridView控件中使用JavaScript实现Checkbox的全选和反选功能,通过操作input类型的checkbox,结合server端的处理,实现了数据集(dataset)的动态绑定,并利用div布局优化用户体验。
639

被折叠的 条评论
为什么被折叠?



