我的要求是,先让按钮执行客户端事件,再执行服务器端事件,但是并不用鼠标单击此按钮

解决方案 »

  1.   

    在 button 的 Attributes 里附加要执行的客户端脚本即可,像这样:btn.Attributes.Add("onclick", "alert('hello');");
      

  2.   

    不用鼠标单击此按钮?那你总该有个动作来触发你的代码吧!如果你的意思是不用点击服务端按钮,但可以点击客户端按钮的话,
    我想可以添加一个客户端按钮来先执行一段客户端脚本,然后再通过__doPostBack('服务端按钮ID','')执行服务端按钮的服务端click代码
    例如:
    客户端按钮:btnClient
    服务端按钮:btnServer
    设btnClient的onclick="<script language='JavaScript'>客户端脚本;__doPostBack('btnServer','');</script>"
      

  3.   

    在按钮的onclick事件上绑定javascript。则先执行客户端的javascript脚本然后再提交到服务器执行服务端代码
    If (Not IsClientScriptBlockRegistered("clientScript")) Then
                Dim strScript As String = "<script>" + vbCrLf
                strScript += "function Welcome(){" + vbCrLf
                strScript += "alert('welcome');}" + vbCrLf
                strScript += "</script>" + vbCrLf
                RegisterClientScriptBlock("clientScript", strScript)
            End If
    Button1.Attributes("onclick")="javascript: Welcome();"
      

  4.   

    aspx:
    function clientFunction()
    {
      //do sth client explame:
      alert('ok');
     //do sth server 
     document.all("servercontrol").click();
     }
    aspx.cs:
    servercontrol.click += servercontrol_click(,);