下面代码是一个删除代码:
主要想实现: 删除前先判断是否选择要删除的项,没有就提示如果选择了,就提示是否要删除确认.请问:怎样确认完删除,不确认就不删除. private void BtnDel_Click(object sender, System.EventArgs e)
{
int intCount=0;
for(int i=0;i<DataGrid1.Items.Count;i++)  
{  
CheckBox cb=(CheckBox)DataGrid1.Items[i].FindControl("chkOne");  

if(cb.Checked)  
{  
id=DataGrid1.Items[i].Cells[1].Text;
intCount++;
}  
}   if (intCount==0)
{
this.RegisterStartupScript("alertwin","<script>javascript:alert('请至少选择一项进行删除!');</script>");
}
else
{
this.RegisterStartupScript("alertwin","<script>confirm('你真的要删除吗?删除的数据是不可恢复的!')</script>");

删除操作
}
}

解决方案 »

  1.   

    在ItemCreated里面给checkbox加一个onclick属性,设置一个全局变量,选中一个checkbox把变量加1,取消选择减1,这样在提交的时候检查这个变量就可以了
      

  2.   

    可以采用这个方法,简单
    http://dotnet.aspx.cc/ShowDetail.aspx?id=F43AF9A5-2C2E-4AA6-E976-21E9569F5A8A
      

  3.   

    你那种方法是不可行的,在按钮按下之后,不管你弹出什么脚本,它总是执行操作,根本不会理会你客户端的事件,你必须在提交到服务端之前做此事.
    1.在提交按钮点击事件里面添加脚本(page_load)
    this.BtnDel.Attributes.Add("onclick","return(myCheck());");
    这样,在点击按钮时,它将先在客户端进行判断,成功之后,才会提交到服务端
    2.在客户端写一个脚本进行判断
    function myCheck()
    {
             var mycount = 0 ;
    var mm = document.getElementsByTagName("input").length ;
    for(var i=0;i<mm;i++)
    {
    var dd = document.getElementsByTagName("input").item(i);
    if(dd.type == "checkbox")
    {
    if(dd.checked == true)
    {
    mycount += 1;
    }
    }
    } if(mycount == 0)
    {
    alert("您还未选择,请选择!");
    return(false);
    }
    else
    {
    return(confirm("确认删除吗?"));
    }
    }
      

  4.   

    net_lover(孟子E章) 大师的可以参考
      

  5.   

    <asp:TemplateColumn HeaderText="删除">
    <ItemTemplate>
    <span onclick="javascript:return confirm('delete!!');">删除</span>
    </ItemTemplate>
    </asp:TemplateColumn>