你的OnClick当然只能有一个事件,不过你也可以在服务器端的代码里调用Js。

解决方案 »

  1.   

    能,如果你为<asp:button>增加客户端脚本的onclick事件那么在客户端会先执行你的脚本代码,如果脚本返回为true ,那么会返回服务器端执行服务器端的onclick事件。
      

  2.   

    To: liuzhonghe(呆头鹅) 
    我原来这样做好像不行啊,
    能具体说说你是怎么做的吗?
      

  3.   

    例如:
    this.btnDel.Attributes.Add("onclick","javascript:return confirm('确认删除?');");
    当点击确定也就是返回true时,才执行
    private void btnDel_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
        .......
    }
      

  4.   

    各位似乎有些误解我的意思了。
    之所以要使用前端Javascript就是希望页面在返回伺服端之前就先执行,在服务器端执行是不同的意义。liuzhonghe兄我不大懂你的意思,如果在伺服端控件的onclick中写上前端Javascript的函数﹐基本上在编译上就已过不了了,而且如果不仅要执行前端的javascript又要触发后端的click事件那会是什么写法呢?我举个例子好了<html>
    <head>
      <title>Untitled</title>
      <script language="JavaScript">
        function Cal(N1,N2,N3){
      sFlag=true;
      if(N1.value==''){
        sFlag=false;
        alert('数值一不得为空');
    N1.focus();
      }else if(N2.value==''){
        sFlag=false;
        alert('数值二不得为空');
    N2.focus();
      }
      if(sFlag){
        N3.value=N1.value+N2.value;
      }else{
        return sFlag;
      }
    }
      </script>
    </head><body>
      <form runat="server">
        数值一:<asp:TextBox id="Num1" runat="server"/> +
    数值二:<asp:TextBox id="Num2" runat="server"/> =
    <asp:TextBox id="Total" runat="server"/>
    <asp:Button id="okBtn" runat="server" Onclick="Cal(document.all.Num1,document.all.Num2,document.all.Total)"/>
      </form>
    </body>
    </html>以这个例子来说在<asp:Button>中的Onclick我所呼叫的是前端Javascript, 但这样子连编译都无法通过,那么是不是代表用了伺服端控制器就无法使用前端的Javascript了呢?还是有什么其它的解法?
    (这个例子我只是为了表达呼叫前端javascript用,请不用对于Javascript中所代表的功能来讨论。)
      

  5.   

    <asp:Button id="okBtn" runat="server" Onclick="Cal(document.all.Num1,document.all.Num2,document.all.Total)"/>------>>>>>
    <asp:Button id="okBtn" runat="server" Onclick="return Cal(document.all.Num1,document.all.Num2,document.all.Total) ;"/>加个return 和一个分号。看可不可
      

  6.   

    不行,加上return仍然是属于语法错误。
    .Net编译时如果是伺服端控件对于onclick的事件似乎只能认同伺服端的click事件,加上return或者函式中有括孤都属于语法错误。
      

  7.   

    <input type = Button id="okBtn" runat="server" Onclick="return Cal(document.all.Num1,document.all.Num2,document.all.Total) ;"/>