使用<asp:linkbutton>时,在form_load加载this.lbtnDelete.Attributes.Add("onclick","return confirm(\"确实要对选中的组删除么\");};");
目的是让如果选择取消,则不执行postback,但是是,结果是即使选择了取消,仍然会执行服务器端的事件,
而使用客户端控件,<input type=button>时,如果取消,则不会postback。
两者的区别是在显示的html文件中,前者,onclick属性=return confirm(\"确实要对选中的组删除么\,postback事件是写在href里的。
而后者的所有内容都写在onckick里,所以,如果后者选择取消,则return false,则不执行postback,
虽然发现了原因,但是不知道怎么解决,求高手解答,很急!!!!

解决方案 »

  1.   

    写错了吗?
    .Attributes.Add("onclick","return confirm(\"确实要对选中的组删除么\");");
      

  2.   

    是复制粘贴的问题了写是不会写错的,发现了,只要是服务器端控件,即使怎么返回false,都会执行postback
      

  3.   

    查看源代码,把控件的html代码贴个出来
      

  4.   

    linkbutton生成的html代码
    <a id="_ctl1_lbtnDelete" onclick="if(!eDelete()){return;};" href="javascript:__doPostBack('_ctl1$lbtnDelete','')">删除所选组</a>
    下面是<input button>的html代码
    <input language="javascript" onclick="if(!eDelete()){return;}; __doPostBack('_ctl1$btnDelete','')" name="_ctl1:btnDelete" id="_ctl1_btnDelete" type="button" value="删除所选组" />
    其中eDelete()事件就是
      function eDelete()
      {
         return confirm("确实要删除所选中的组吗?");
      }
      

  5.   

    请指点,现在要解决的是,不能用button按钮,要是用<a></a>样式的链接按钮。用什么代替都行,只要样式不变,或者可以阻止服务器控件的postback。
      

  6.   

    你不能这么写,要
    .Attributes.Add("onclick","return confirm('确实要对选中的组删除么');");
      

  7.   

    if(!eDelete()){return;};???? ===>
    return !eDelete();
      

  8.   

    真是麻烦各位了,终于发现错误了。是页面上还有另外的程序影响了这个return false,所以,导致异常,郁闷死了