2010-04-30 49 views
4

所以,我們有一個ASP.Net應用程序 - 相當標準 - 並且有很多更新面板和回發。ASP.Net的最佳「加載」反饋?

在某些頁面上,我們有

<ajax:UpdatePanelAnimationExtender ID="ae" runat="server" TargetControlID="updatePanel" BehaviorID="UpdateAnimation"> 
    <Animations> 
     <OnUpdating> 
      <FadeOut Duration="0.1" minimumOpacity=".3" /> 
     </OnUpdating> 
     <OnUpdated> 
      <FadeIn minimumOpacity=".5" Duration="0" /> 
     </OnUpdated> 
    </Animations> 
</ajax:UpdatePanelAnimationExtender> 

這基本上白人出來的時候回發是怎麼回事的頁面(但衝突與模態對話框灰色背景)。在某些情況下,我們有一個progressupdate控件,它在頁面中間只有一個小圖標。

但他們沒有一個看起來特別好,都有點笨重。他們還需要在應用程序的各個地方提供大量的代碼。

其他人使用哪些方法並找到有效的方法?

回答

1

和其他人一樣,我建議在模式彈出窗口中使用UpdateProgress。

我將添加此扭曲,將彈出窗口,UpdateProgress和此代碼放入主頁面,因此只要您需要它,只需將主頁面插入內容頁面即可。

<script type="text/javascript"> 
var ModalProgress ='<%= ModalProgress.ClientID %>'; 
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginReq); 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endReq);  
    function beginReq(sender, args){  
    // shows the Popup  
    $find(ModalProgress).show();   
    } 
    function endReq(sender, args) 
    {  
    // hide the Popup  
    $find(ModalProgress).hide(); 
    } 

</script> 

這裏一些參考:

http://mattberseth.com/blog/2007/07/modalpopup_as_an_ajax_progress.html

http://vincexu.blogspot.com/2008/10/how-to-make-modalupdate-progress-bar-on.html

1

GIF動畫需要最少量的代碼,您可以從以下網站選擇您喜歡的任何顏色的圖片 - Ajaxload - Ajax loading gif generator

+0

是的,我們已經GIF動畫 - 但什麼是讓他們出現,當你做一個回發的最佳方式? – Paul 2010-04-30 11:01:31

3

我還沒有使用的UpdatePanelAnimationExtender但一個的UpdateProgress-控制結合的動畫GIF(Bermos鏈路):

<asp:UpdateProgress ID="UpdateProgress1" DynamicLayout="true" runat="server" AssociatedUpdatePanelID="UdpImeiLookup" DisplayAfter="500" > 
      <ProgressTemplate> 
      <div class="progress"> 
       <img src="images/ajax-loader-arrows.gif" />&nbsp;please wait... 
      </div> 
      </ProgressTemplate> 
</asp:UpdateProgress> 

500毫秒在此的ProgressTemplate將在相關聯的更新面板的每一個回傳可見(後例)。

編輯:其中類「進展」可以f.e.這樣的:

.progress 
{ 
    text-align:center; 
    vertical-align:middle; 
    position: absolute; 
    left: 44%; 
    top: 35%; 
    border-style:outset; 
    border-color:silver; 
    background-color:Silver; 
    white-space:nowrap; 
    padding:5px; 
} 

問候, 添

+0

是的,這已經有一段時間了,但過去成功地使用了UpdateProgress控件。感謝慢跑我的記憶! – Bermo 2010-04-30 12:10:29

0

這是我使用的東西,它有一個模式彈出式的背景和GIF

<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="0"> 
<ProgressTemplate> 
    <div style="position: absolute; width: 100%; height: 100%; z-index: 100; background-color: Gray; 
    filter: alpha(opacity=70); opacity: 0.7;"> 
    &nbsp; 
    </div> 
    <table style="position: absolute; width: 100%; height: 100%; z-index: 101;"> 
    <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" /> 
      Please wait.... 
     </div> 
     </td> 
    </tr> 
    </table> 
</ProgressTemplate>