今天遇到一个奇怪的问题,在页面后台添加Button的onclick属性,用户删除前给出一个确认提示,可是无论点确定还是取消,都执行后台代码的btnDelete_Click事件。
protected
void
Page_Load(
object
sender, EventArgs e)
{
if ( ! IsPostBack)
{
BindData();
btnDelete.Attributes.Add( " onclick " , " javascript:return confirm('您是否删除当前目录?'); " );
}
}
{
if ( ! IsPostBack)
{
BindData();
btnDelete.Attributes.Add( " onclick " , " javascript:return confirm('您是否删除当前目录?'); " );
}
}
后来分析可能是因为页面加载Ajax控件的缘故,后来将确认提示脚本放到前台,问题解决。
<
script type
=
"
text/jscript
"
language
=
"
javascript
"
>
function validate(s, e) {
if (confirm( ' 您是否删除当前目录? ' ))
e.processOnServer = true
else
e.processOnServer = false ;
}
</ script >
< asp:Button ID = " btnDelete " runat = " server " Text = " 删除 " onclick = " btnDelete_Click " AutoPostBack = " false " >< ClientSideEvents Click = " validate " /></ asp:Button >
function validate(s, e) {
if (confirm( ' 您是否删除当前目录? ' ))
e.processOnServer = true
else
e.processOnServer = false ;
}
</ script >
< asp:Button ID = " btnDelete " runat = " server " Text = " 删除 " onclick = " btnDelete_Click " AutoPostBack = " false " >< ClientSideEvents Click = " validate " /></ asp:Button >