-_-!Thread.Sleep(10000);无缘无故,把毫秒级别的网页执行速度,降低到秒级别了。

解决方案 »

  1.   

    看看http://www.codeproject.com/useritems/ASPNETAJAXPageLoader.asp,有詳細的教程,還有Demo和源碼,應該能滿足的要求,不懂再問。
      

  2.   

    呵呵。你在页面的最顶部加一个div,做成你想要的样子,然后在页面的最下面把这个div隐藏
      

  3.   

    形式主义.......个人意见,就算是用ajax,如果服务器真的处理不过来ajax的请求也不会处理如果服务器真处理过来了,一个页面不可能二秒钟生成不出来吧
      

  4.   

    “Thread.Sleep(10000);”如果确实是生产代码中的,那么确实是在让程序“无缘无故装蠢”,是绝对应该诟病的。程序应该尽量节省执行时间,通常应该确保任何情况下(不论需要读取多少数据都要确保)在3、4秒钟内处理完成整个页面处理,有使用经验比会写程序更重要。
      

  5.   

    你可以在页面上放一个客户端的button,用客户端的button的客户端click事件去触发服务器端的button的click事件,这样当服务器端事件执行完,那个加载进度条就会消失。参考代码:
    <script language="javascript>
      function okClick()
      {
          Form1.btnAdd.disabled = true;
          document.all["runing"].style.display = "";
          Form1.btnOk.click();
       }
    </script><span id="runing" style="DISPLAY: none; Z-INDEX: 100; LEFT: 116px; VERTICAL-ALIGN: middle; WIDTH: 200px; COLOR: #990000; POSITION: absolute; TOP: 45px; HEIGHT: 30px; BACKGROUND-COLOR: white; TEXT-ALIGN: center"><IMG src="../images/runing.gif"></span>
    <script>document.all["runing"].style.left=(document.body.clientWidth-200)/2</script>
    <table class="table_fontstyle" height="22" cellSpacing="0" cellPadding="0" width="100%" bgColor="#a7cdf9" border="0">
    <tr>
    <td>&nbsp;
    <asp:label id="lblAlert" runat="server" ForeColor="red"></asp:label></td>
    <td align="right" width="135"><BUTTON class="btn_normal " id="btnAdd" onmouseover="this.style.color='red'" style="CURSOR: hand" onclick="okClick();" onmouseout="this.style.color='blue'" type="button" runat="server">增加</BUTTON><asp:button id="btnOk" style="DISPLAY: none" runat="server" Text="增 加"></asp:button> </td>
      

  6.   

    我曾经写过一个asp.net的用户控件,包含以下功能:
    1.等待直至所有页面元素加载完毕
    2.等待直至所有iframe(包括嵌套)加载完毕
    3.良好用户界面,有半透明等效果没有时间整理,需要的话给我发邮件吧
    chagel AT gmail.com
      

  7.   

    直接在onload中触发js显示个DIV 就可以了吧,显示好了之后隐藏掉
      

  8.   

    做一個loading過渡
    程序代码: <script language="Javascript"> //eat the error, paste this code before any javascript start to load, you need this error handler. window.onerror = doNothing function doNothing() {return true} </script> 
    <script language="Javascript"> //display the loading box, paste this code after </head> document.writeln('<span id=loadingmsg style="border:1px ridge; Z-INDEX: 3; LEFT: 12; WIDTH: 131; POSITION: absolute; TOP: 18; HEIGHT: 50; BACKGROUND-COLOR: #FFFFFF"><CENTER><BR><font color="#808080"><FONT face=Arial size=3>Loading .....</FONT><BR></font></CENTER></span>') </script> 
    <script language="Javascript"> // close the loading box, paste this at end of the document. if (document.all) document.all.loadingmsg.style.visibility='hidden'; if (document.layers) document.loadingmsg.visibility='hidden' if (document.getElementById) document.getElementById('loadingmsg').style.visibility='hidden' </script>
      

  9.   

    http://dotnet.aspx.cc/article/794566b9-5ea2-4782-2d42-e133f3c7ba74/read.aspx对于长时间装载的ASP.NET页面如何在客户端浏览器中显示进度
      

  10.   

    我的那段代码
    虽然那个div层隐藏起来了,但是我的网页最上面还是空出一行,怎么取消那行啊
      

  11.   

    首先,你没有理解下面两句的含义:
    Response.Write("window.setInterval('ShowWait()',1000);}");
    Thread.Sleep(10000);要彻底解决问题,请注意:1、为了“提高”速度,你得将interval缩短,即根据你的目标网页的速度把1000变小;其次,那个睡眠时间10000也要视情况适当缩短;
    2、由于这段代码是在目标网页之前传递到浏览器,因此可能会影响javascript控制其他div的操作,比如zoom。如果你的目标网页有这样的代码,你可以将这段代码单独做成一个网页,在body里面用onload将你的目标网页引入。
    3、你嫌“正在装载网页”难看,你可以改成任何其他提示,包括引入图片。
      

  12.   

    看到这个异常兴奋。搂住您太强了。延迟10秒!
    ===============
    Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);Thread.Sleep(10000);
      

  13.   

    感觉不太人性化,可以这样做:用css定义一个与页面背景不同的小方块,比如3*0.1cm(高*宽),在页面的body里面放置两个div,一个用以显示页面的所有内容(divcontent),一个用以显示进度块。为window.onload设置一个函数,查找divcontent节点的内容,判断是否与指定的大小(可以事先测定页面的大小)相等。不相等就用你上面的方法加载css里面的小方块。这样加载的时间就是由页面真正加载的时间决定,而不是人为设定
      

  14.   

    推荐你使用一个控件
    dontNetBusyBox