首先需要 一个实现全选效果的javascript脚本
<script type="text/javascript" language="javascript">
function GetAllCheckBox(CheckAll) {
var items = document.getElementsByTagName("input");
for (i = 0; i < items.length; i++) {
if (items[i].type == "checkbox") {
items[i].checked = CheckAll.checked;
}
}
}
</script>
然后GridView中需要一个万能模板列如下:
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" id="cbAll" onclick="GetAllCheckBox(this)" />全选(√)
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="chbSelect" />
</ItemTemplate>
</asp:TemplateField>
之后我们就可以在后置代码类中集体处理GridView中选择的那些项了 如我们可以在一个按钮的点击事件中写入
for (int i = 0; i < gvQuestions.Rows.Count; i++)
{
CheckBox cb = (gvQuestions.Rows[i].FindControl("chbSelect")) as CheckBox;
if (cb.Checked)
{
//这种方式取questionId的话 前台项的绑定数据方式必须是<%#Bind("Id") %>方式否则取不到Text属性
int questionId = Convert.ToInt32(gvQuestions.Rows[i].Cells[1].Text);//得到遍历项的唯一绑定的id
Helper.DeleteQuestionById(questionId);//Helper就是一个服务的帮助类 (处理相关数据)
}
}