2010-04-20 53 views
3

我有一個imagebuttons的gridview,其中每個啓動該項目的報告頁面。報告需要10-15秒才能運行,所以我想要一個彈出窗口「生成報告,請稍候」類型的東西。我可以想到幾種方法,但希望那些比我更有經驗的人的意見。我正在考慮的選項:C#ASP.NET中的「請稍等」屏幕頁面。最佳實踐?

a)將我的圖像按鈕鏈接到一箇中間頁面,上面寫着'please wait',然後將它引用到從那裏的報告頁面。似乎有點笨拙 b)調查使用jquery或類似的。我有telerik控件,他們有幾件事情,但不清楚是否合適。 c)定義某種CSS層的有請稍候就可以了警告,並使其可見作爲按鈕的onclick事件 d的一部分)。看看jQuery的或類似的

有什麼想法?

謝謝!

回答

4

我使用透明度Div,它非常酷且簡單。試一試。

<div id="ModalPopup" style="visibility: hidden;"> 
    <div style="position: fixed; width: 100%; height: 100%; z-index: 10002; background-color: Gray; 
    filter: alpha(opacity=70); opacity: 0.7;"> 
    &nbsp; 
    </div> 
    <table style="position: fixed; width: 100%; height: 100%; z-index: 10003;"> 
    <tr> 
     <td align="center" valign="middle"> 
     <div style="color: Black; font-weight: bolder; background-color: White; padding: 15px; 
      width: 200px;"> 
      <asp:Image ID="Image3" runat="server" ImageUrl="~/Images/progress.gif" /> 
      Procesando.... 
     </div> 
     </td> 
    </tr> 
    </table> 
    </div> 

要顯示在div,使用這個JavaScript:

的document.getElementById( 'ModalPopup')style.visibility = '可見的'。

+0

感謝隊友。我把它放在我的按鈕所在的「第一」表單上,但它從一開始就是可見的。你如何使它看不見,然後讓用戶點擊按鈕後出現?我不是JS的傢伙...... :) – Glinkot 2010-04-20 06:01:16

+0

添加此樣式喲主div樣式=「display:none」 然後在您的buton上添加onClientClick =「document.getElementById ['ModalPopup']。style.visibility ='visible '「 – alejandrobog 2010-04-20 13:39:04

+0

嗨阿列傑,我已經嘗試了一些這種變種,迄今爲止沒有運氣!不幸的是,沒有空間來粘貼代碼。我已經把這個onclientclick事件放到了一個按鈕上,但是它只是發回而沒有讓div可見。如果您碰巧有一個.aspx文件顯示它正在運行,如果您可以將它移動到[email protected]那將會非常出色。歡呼隊友 – Glinkot 2010-04-21 05:08:53

1

我有完全相同的問題,但我發現AJAX服務器控制UpdateProgress非常有用。這是一個鏈接到UpdateProgress控制。

+0

謝謝你 - 這似乎是部分頁面更新?在目前的情況下,我正在從一個頁面移動到另一個頁面。不確定在這種情況下它是否有效? – Glinkot 2010-04-20 06:02:08

0

您可以在頁面上有一個,其中style設置爲display:none。一個按鈕(您將用它來執行一個動作)將執行一個javascript函數,它將在點擊時將的樣式設置爲display:block