2012-01-04 32 views
1

我有一个ASP脚本生成页面内容以响应一些GET参数。服务器生成时显示加载屏幕页面

有时页面生成需要一些时间(运行数据库查询等),我想在页面加载时向用户显示某些内容。这样做的标准方式是什么?

我目前没有在页面上使用AJAX。

回答

2

可以使用Response.Flush迫使一些浏览器:

Response.Write("<div id=""preloader"">Loading, please wait...</div>") 
Response.Flush() 
'long running code... 
'long running code... 
'long running code... 
Response.Write("<script type=""text/javascript"">document.getElementById(""preloader"").style.display = ""none"";</script>") 
+0

完美,这正是我需要的。 – Flash 2012-01-10 02:51:01

+0

@Andrew随时欢呼。 :) – 2012-01-10 07:38:49

3

有没有原因你不使用AJAX?我在去年夏天的实习中遇到了类似的问题。起初,我决定忽略AJAX,部分原因是由于懒惰,不想学习javascript/ajax的用法。然而,越来越明显的是,没有ajax,用户体验受到严重阻碍(由于您在此讨论的类似事情......长期服务器端操作)。

如果您能够“AJAXify”您的应用程序,那么我想您可以在请求初始化时添加一个加载映像,然后在异步调用返回时将其替换为给定内容。 Jquery使用各种AJAX工具和回调函数使这种事情变得非常简单。

当然,你可能已经意识到所有这些......所以请原谅我,如果我只是重申明显!