日期:2014-05-19  浏览次数:20424 次

html控件怎么不能用onclick事件啊?

this.btn_Del.Attributes.Add( "onclick ", "return   confirm( '确定要删除吗 '); ");放在pageload里面

我把这个html控件设为了作为服务器运行
private   void   btn_Del_ServerClick(object   sender,   System.EventArgs   e)
{
              .......
}

可以运行后,点了 "确定 ",可是不能执行btn_Del_ServerClick事件,这是为什么啊?

我删掉this.btn_Del.Attributes.Add( "onclick ", "return   confirm( '确定要删除吗 '); ");,就可以执行了~~~~

------解决方案--------------------
this.btn_Del.Attributes.Add( "onclick ", "if(!confirm( '确定要删除吗 '))return false; ");
------解决方案--------------------
这个不是因为 你的写法有问题
而是你不应该使用input button而应该使用input submit

<input id= "Button1 " runat= "server " onserverclick= "Button1_ServerClick " type= "button "
value= "button " />

<input id= "Submit1 " runat= "server " onserverclick= "Submit1_ServerClick " type= "submit "
value= "submit " />
因为在输出为html后 如果是input button asp.net系统会为其添加__doPostBack( 'Button1 ', ' ')这样就造成了 你的button就算是confirm成功也不会执行form的提交 因为button对于浏览器只是按钮而不触发form提交

<input language= "javascript " onclick= "javascript:return confirm( '确认提交 '); __doPostBack( 'Button1 ', ' ') " name= "Button1 " type= "button " id= "Button1 " value= "button " />
<input name= "Submit1 " type= "submit " id= "Submit1 " value= "submit " onclick= "javascript:return confirm( '确认提交 '); " />

还有服务器按钮 解析到 客户端 实际就是 submit按钮.