在Button的OnClientClick事件中调用了一个JS函数:
<asp:Button ID="Button1" runat="server" Text="查看证件" OnClientClick="showwin();" OnClick="Button 1" />JS函数用来显示一个div,div初始是hidden的:
    
     function showwin()
    {
      var win = document.getElementById("div1");
      win.style.visibility="visible";     
    }问题是按button时这个div只是闪现了一下,不能一直显示着,这是怎么回事呢?我将函数用一个html的button运行是好的,但是在asp.net的button里运行就不行了

解决方案 »

  1.   

    OnClientClick="showwin();"因为这个事件执行完了以后又执行了OnClick="Button 1",对整个页面做了刷新。
      

  2.   

    给这个div加个runat="server",在OnClick="Button 1"里面对他进行隐藏操作。
      

  3.   

    OnClientClick="return showwin();" js中:
         function showwin()
        {
          var win = document.getElementById("div1");
          win.style.visibility="visible";  
    return false;   
        }
      

  4.   

    OnClientClick="return showwin();"    onclick="Button1_Click" 
      

  5.   

    3楼所做 无非就是无视 服务器端事件
    如此麻烦
    何不 直接用 <input type='button' />
      

  6.   

    1楼就是说 不用客户端代码 只在服务器端来完成我需要的功能了 3楼这样 让我服务器端OnClick时间情何以堪啊~
      

  7.   

    因为你用的是个服务器控件,他要提交到后台,而你用javascript修改的东西,刷完页面就丢失了
      

  8.   

    OnClientClick="return showwin();"  js中:
      function showwin()
      {
      var win = document.getElementById("div1");
      win.style.visibility="visible";   
      return false;
      }返回false停止页面提交,否则页面还会刷新,所以只是闪一下。
      

  9.   

    嗯,必须加return,否则过后还会触发服务器端的click事件,这样会被回发了