前台:
function CallSerer()
        { var arg;
         arg = document.getElementById("m_Rq").IGetDateString ;            
         <%=ClientScript.GetCallbackEventReference(this,"arg","ReceiveServerData",null) %>;           
        }
function ReceiveServerData(RServer)
        {  var str=RServer;
           alert(str);
        }
后台:      OracleCommand cmd = new OracleCommand();
            cmd.CommandText = "z_xgtj_proc";
            cmd.CommandType = CommandType.StoredProcedure;
            OracleParameter orprq1 = new OracleParameter("P_NY", OracleType.VarChar, 6);
            orprq1.Value = v_ksrq;
            cmd.Parameters.Add(orprq1);
            cmd.Connection = conn;
            cmd.ExecuteNonQuery();
            strServer = "处理成功!";由于这个oracle过程执行时间较长,想做一个弹出层,在执行过程中,显示一个“请等待!” 该怎么做呢?

解决方案 »

  1.   

    直接做个div吧,回调的时候显示,回调完成之后消失,这个有什么困难吗?ps: 建议能不用回调就不用回调,直接xmlHttpRequest,回调效率不高。
      

  2.   

    参考:
    http://xxfflower.3322.org/blog/a/123.html
    http://space.itpub.net/12639172/viewspace-466029
      

  3.   

    <div id="divShowLoading" style="position:absolute; display:none;">请等待......</div>
    function showProcess()  
    {  
         GetMsg();

    var timerId=null;
    function GetMsg()
    {
        var msg = document.getElementById("divShowLoading");
        msg.style.left = (document.body.clientWidth - 220) / 2;
        msg.style.top = window.screen.height / 3 - 120;
        if(window.document.readyState != null && window.document.readyState != 'complete')
        {
            msg.style.display = "block";
        }    
        else
        {
            msg.style.display = "none";
            window.clearTimeout(timerId);
            return;
        }
        timerId=window.setTimeout('GetMsg()',1000);
    }
    showProcess(); 
      

  4.   

    function CallSerer() 
            { var arg; 
            arg = document.getElementById("m_Rq").IGetDateString ;   
            showdiv();//自己写这个函数
            <%=ClientScript.GetCallbackEventReference(this,"arg","ReceiveServerData",null) %>;          
            } 
    function ReceiveServerData(RServer) 
            {  var str=RServer; 
               closeDiv();//
              alert(str); 
            } 
      

  5.   

    function CallSerer() 
            { var arg; 
            arg = document.getElementById("m_Rq").IGetDateString ;            
    showwait(true);
            <%=ClientScript.GetCallbackEventReference(this,"arg","ReceiveServerData",null) %>;          
            } 
    function ReceiveServerData(RServer) 
            {  var str=RServer; 
              alert(str); 
    showwait(false);
            } 
    function showwait(e){
    if(e)
    document.getElementById("div_wait").style.display='block';
    else
    document.getElementById("div_wait").style.display='none';
    }
    <div id="div_wait">请等待...</div>