1.在<head></head>标签中加入JS
<script type="text/javascript" >
function submitAll(itemName)
{
var aa = document.getElementsByName(itemName);
var bb=document.getElementById('hidvalue');
bb.value='';
for(var i=0;i<aa.length;i++)
{
if(aa[i].type=='checkbox'&&aa[i].checked)
{
bb.value +=aa[i].value+',';
}
}
if(bb.value=='')
{
return alert("请选择要删除的记录!");
}
else
{
return confirm('你确认要删除所选中记录吗?');
}
}
function checkAll(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked;
}
function checkItem(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
{
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
</script>
2.在body里的Gridview里加入的checkbox的信息是
<asp:TemplateField HeaderText="选择" >
<ItemStyle HorizontalAlign="Center" Width="4%" />
<ItemTemplate>
<input id="chkItem" name="chkItem" type="checkbox" value="<%# Eval("SMSID") %>" οnclick="checkItem(this,'chkAll')" />
</ItemTemplate>
</asp:TemplateField>
3.在body里加入单个checkbox里做全选的作用的源代码是如下:
<input id="chkAll" type="checkbox" οnclick="checkAll(this, 'chkItem')" />全选 <asp:LinkButton ID="btnLinkDelete" runat="server" OnClientClick="return submitAll('chkItem')" OnClick="btnLinkDelete_Click" CssClass="button2">删除</asp:LinkButton>
4.当点击全选旁边按钮时的删除操作时的后台代码是如下:
protected void btnLinkDelete_Click(object sender, EventArgs e)
{
try
{
if (hidvalue.Value != null && hidvalue.Value != string.Empty)
{
string del = hidvalue.Value;
del = del.Substring(0, del.Length - 1);
string[] delID = del.Split(',');
for (int i = 0; i < delID.Length; i++)
{
SMSBILLOBJECT.DeleteAction(delID[i]); //具体
}
hidvalue.Value = string.Empty;
Response.Redirect(Request.RawUrl.ToString(), false);
}
}
catch
{
}
}