日期:2014-05-16  浏览次数:20528 次

repeater批量删除提示问题
以下代码是我写的repeater批量删除单击事件,按钮在repeater之外。


//前台批量删除按钮
<asp:Button ID="btnDelete" runat="server" OnClick="btnDelete_Click" Text="批量删除" OnClientClick="javascript:confirm('删除后将不能恢复,确定要删除吗?')"> </asp:Button>
//后台单击事件
protected void btnDelete_Click(object sender, EventArgs e)
        {
            BLL.tourline tlbll = new BLL.tourline();
            for (int i = 0; i < this.rptLineList.Items.Count; i++)
            {
                int id = Convert.ToInt32(((HiddenField)this.rptLineList.Items[i].FindControl("hidId")).Value);
                CheckBox ckb = (CheckBox)this.rptLineList.Items[i].FindControl("chkId");
                if (ckb.Checked)
                {
                    tlbll.Delete(id);
                }
            }
            lie = Request.QueryString["lm_id"].ToString();
            FillRepeater(lie);
        }

现在的问题是我想在点击按钮时判断是否有checkbox被选中,该如何做?写js还是C#?
------解决方案--------------------
js

吧选中的id放在了一个hidden里了              后台取一下就行了
------解决方案--------------------
用JS吧 获取所有选中的ID 然后用,分隔 放到一个隐藏控件里 然后通过后台取值 最后再分割取到的值 获取所有被选中的ID 再一个个循环删除
------解决方案--------------------
你嫌麻烦就用Jquery吧

这个查询起来比较方便
------解决方案--------------------

repeter 中checkbox 用input  type=checkbox  
按钮事件中
string idlist=Request.Form["checklistid"]
 判断idlist是否为空或者null 
然后提示或执行操作


------解决方案--------------------
毕竟是后台操作  对速度要求没有那么高  所以用js跟c#都差不多

但是相比较   肯定是js好
------解决方案--------------------


<asp:Button ID="btnDelete" runat="server" OnClick="btnDelete_Click" Text="批量删除" OnClientClick="cheBox() "> </asp:Button>

function cheBox() {
// 判断是否至少选择一项
var checkedNum = $("input[name='checkboxname']:checked").length;
if(checkedNum == 0) {
alert("请选择至少一项!");
return;
}
// 批量选择
if(confirm("确定要删除所选项目?")) {

}