2011-06-22 37 views
1

我具有以下在ASPX顯示圖像/前的Page_Load HTML完成

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" nherits="test" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"></head> 
    <body> 
     <img src="images/loading_anim.gif" />Please wait... 
     </body> 
    </html> 

代碼在test.aspx.vb

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
......Do some processing here . 
Response.redirect("Next.aspx") 
End Sub 

代碼後面我做一些處理在Page_Load方法和重定向到其它頁面,但它可能需要一段時間,所以我想顯示用戶加載image.But它表明,page_load完成後,如何處理這個?

回答

2

我會建議你使用一個通用的處理程序(ASHX),並使用非緩衝響應。例如:

public class Handler : IHttpHandler 
{ 

    public void ProcessRequest (HttpContext context) 
    { 
     context.Response.BufferOutput = false; 
     context.Response.Write("<html><head></head><body><img src=\"images/loading_anim.gif\" />Please wait...</body></html>" 
     context.Response.Flush(); 

     // do your processing 
     ... 
     // redirect 
    } 
... 
} 

另一種方式在客戶端首秀圖像(使用Java腳本),然後做從客戶端重定向(或郵寄)。

0

我不認爲它會起作用,因爲總是服務器端代碼先工作,那麼只有HTML渲染開始。更好的選擇將使用Ajax。

更多細節在這裏:ASP.NET Integration with IIS 7