<script type="text/javascript" language="javascript">
    var xmlhttp;
    function ajaxtest() 
    { 
       if(window.ActiveXObject) 
         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
       else if(window.XMLHttpRequest) 
         xmlhttp=new XMLHttpRequest(); 
         xmlhttp.onreadystatechange=doit; 
         xmlhttp.open("GET","Default2.aspx",true); 
         xmlhttp.send(null); 
    } 
    function doit() 
    {       if(xmlhttp.readystate==4&&xmlhttp.status==200) 
         if(xmlhttp.responsetext=="0")
         {
           return true;
         }
         else 
         return false;
    } 
    
    </script><asp:Button ID="Button1" runat="server" OnClientClick="return ajaxtest();" onclick="Button1_Click" Text="Button" />这个是调用的
也就是说这个地方ajaxtest(); 这个 可以返回ture  或者flase吗?

解决方案 »

  1.   

    应该是可以吧……OnClientClick就是客户端的onclick……试试看不就知道了?
      

  2.   

    晕 我试过了哦!  不可以啊  我在V8里面调式 返回false后 还是会执行onclick="Button1_Click"啊 
      

  3.   

     OnClientClick 本身就在客户端执行,为什么还要用ajax呢?你现你得想想?用ajax的用意是什么?是不是让用户感觉不到页面连接到服务器?
      

  4.   

    对  OnClientClick 本身就在客户端执行  但是我想通过ajax 来能给使用服务器端执行啊! onclick我控制不了 所以我只能控制OnClientClick  
      

  5.   

    可以~onclick可以放在AJAx里面也可以放在外面,控制方面还好吧
      

  6.   

    我说的控制不了 因为我使用的是现成的网站发布系统onclick 是完全封装的!我能改的也就是是客户端 但是因为需要我必须得用到服务器端!所以使用ajax现在的问题 是我实现不了 大家帮着看看 是不是有问题啊
      

  7.   

    完全可以,可以考虑用微软的AJAX框架通过JS来实现。
      

  8.   

    ajax是异步执行的,所以当你发出ajax请求时,系统不会等你返回处理结果,而是直接触发了onclick事件,回发到服务端。
    如果你想根据ajax的返回结果来决定要不要回发,你应该把ajax和触发回发事件的按钮放在两个不同的地方,比如:
    <input type="button" value="ajax Button" onclick="ajaxtest()" />
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
     function doit() 
        {       if(xmlhttp.readystate==4&&xmlhttp.status==200) 
             if(xmlhttp.responsetext=="0")
             {
               var mybutton = document.getElementById('Button1');
               mybutton.click();
             }
        }