今天在做网络U盘功能的时候,需要在用户删除指定文件的时候,给出警告提示,原 先是这样处理的,Button1.Attartutes.Add("onclick","return confirm('你确定删除吗?')");,最后发现,无论选择‘是’或‘否’,都不会执行后台的Button1的ServerClick事件,又试着 将‘return confirm('你确定删除吗?')’改为‘confirm('你确定删除吗?')’,发现,无论选择‘是’或‘否’,都会执行后台的Button1的 ServerClick事件,最后想出一个办法,在页面上在放一个服务器控件Button,Id为‘btnDelete’,这个按钮执行删除操作,然后将 Button1改成一个客户端控件,具体如下,
HTML:
<input type='button' value='删除' οnclick="confirmClick()">
<asp:Button id='btnDelete' Text="" OnClick="btnDelete_Click" style="display:none" runat="server"></asp:Button>
JS:
function confirmClick(){
if(confrim("确定要删除啊?"))
document.all.btnDelete.click();
}
将真正执行删除操作的按钮隐藏,拐了个弯,这样就能实现confirm功能了,红色部分,有点人会说在vs2005里面,在服务器控件标签内输入 ‘style’等字样时不会出智能提示,没事的,闭着眼睛写就可以了,因为这些服务器控件最后经编译也会变成一般的客户端控件,例如上面js代码中写的 ‘document.all.btnDelete.click();’就是。
2009-09-06 发现了实现此功能的更简单的方法,对上面的例子进行修改
<asp:Button id='btnDelete' Text="" OnClick="btnDelete_Click" OnClientClick="return confrim("确定要删除啊?")"></asp:Button>
以上一段话就可以实现上例所实现的功能。IE6测试成功!