我想在管理页面上,单击一 ChecBox 使本页的所有行的 CheckBox 都被选择.即全选.然后再通过控件事件But1_Submit()将所选的每行从数据库中删除.在前台我用的是 DataGrid 部分代码如下:<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBotx runat="server" ID="mb"/> //如何付给值(如绑定ID)
</ItemTemplate>
</asp:TemplateColumn>如何在后台事件中,得到这些被勾选的CheckBox的值().以便进行批量删除操作.谢谢!!
<ItemTemplate>
<asp:CheckBotx runat="server" ID="mb"/> //如何付给值(如绑定ID)
</ItemTemplate>
</asp:TemplateColumn>如何在后台事件中,得到这些被勾选的CheckBox的值().以便进行批量删除操作.谢谢!!
http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/episode.aspx?newsID=1242216
<ItemTemplate>
<asp:CheckBotx runat="server" ID="mb"/> //如何付给值(如绑定ID)
<input type=hidden ...//放一个隐藏控件,取值时如CheckBox选中就取这个控件的值
</ItemTemplate>
</asp:TemplateColumn>
//检查是否有checkbox被选中
<script language="javascript">
function checkForm()
{
var m=0;
var t=document.getElementsByTagName("input"); //获取页面中类型为input的元素个数
for(var i=0;i<t.length;i++)
{
if (t[i].type == "checkbox" && t[i].name.indexOf("mb") != -1 && t[i].checked == true)
{
m++;
}
}
if (m == 0)
{
alert("请选择想要处理的项!");
return false ;
}
else
{
return confirm('您确定要处理选中的项吗?');
}
}
</script>下面是后台取选中的值,但是GridView的,你参考一下
public static string RetrieveCheckValue(GridView GridViewMain, string RowCheckBoxName, string RowHiddenInputName)
{
string a = ""; foreach (GridViewRow GridViewMainItem in GridViewMain.Rows)
{
HtmlInputCheckBox chk = (HtmlInputCheckBox)(GridViewMainItem.FindControl(RowCheckBoxName));//取得CheckBox控件
HtmlInputHidden hiInput = (HtmlInputHidden)(GridViewMainItem.FindControl(RowHiddenInputName));//取得隐藏的值
if (chk.Checked == true)
{
a += "," + hiInput.Value;//将控件的值拼成字符串
}
} if (a != "")
{
a = a.Substring(1, a.Length - 1);
}
return a;
}
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.name != 'chkall')
e.checked = form.chkall.checked;
}
}<asp:HyperLink id=Hyperlink3 runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "P_ID") %>' Visible="False"></asp:HyperLink><asp:CheckBox id="selected" runat="server"></asp:CheckBox>
<input type="checkbox" name="chkall" value="on" onclick="CheckAll(this.form)" title='選中/取消 所有'>
<asp:Button id="Button1" runat="server" Text="發送" Height="24px">
private void Button1_Click(object sender, System.EventArgs e)
{
for (int i=0;i<MyList.Items.Count;i++ )
{
if (((CheckBox)MyList.Items[i].FindControl("selected")).Checked==true)
{
string s0=((System.Web.UI.WebControls.HyperLink)MyList.Items[i].FindControl("Hyperlink3")).Text;
.
.
.
}
}
}
Private Sub ckb_all_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ckb_all.CheckedChanged
Dim oDataGridItem As DataGridItem
Dim chkExport As System.Web.UI.WebControls.CheckBox For Each oDataGridItem In Me.dg_main.Items
chkExport = oDataGridItem.FindControl("cbk")
chkExport.Checked = Me.ckb_all.Checked
Next
End Sub
删除选中的
Private Sub btn_del_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_del.Click
Dim oDataGridItem As DataGridItem
Dim chkExport As System.Web.UI.WebControls.CheckBox
For Each oDataGridItem In Me.dg_main.Items
chkExport = oDataGridItem.FindControl("cbk")
If chkExport.Checked Then
删除操作
End If
Next End Sub
VB版
void DeleteB(Object O,EventArgs E)
{
string delstr=""; //====删除字符窜====
foreach(DataListItem item in DataList1.Items)
{
CheckBox cb=(CheckBox)item.FindControl("chk");
if(cb.Checked)
{
delstr=delstr+","+cb.Text;
}
}
}