2011-09-28 76 views
0

我真的很想在asp.net中預加載工作嗎?
例如,當點擊一個按鈕時,會出現一個動畫gif,幾秒鐘後出現一個面板或div! (就像在Facebook的許多地方)
我怎麼能在asp.net中做到這一點?
(是做這個工作需要jQuery的?如果是的話,哪些插件?)在asp.net中預加載

+0

如何它ASP.NET的完成:UpdatePanel的(http://msdn.microsoft.com /en-us/library/system.web.ui.updatepanel.aspx)。如何正確完成是一個不同的問題。 –

+0

@Jim Schubert感謝評論 - 我知道更新面板是回調 - 但它似乎隱藏的面板或div出現像jquery一樣的效果 - 你會告訴我一個更新面板的例子! – MoonLight

回答

1

,第一是關於頁面加載

protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     pnlLoading.Visible = true; 
    } 

二時,當我有更新面板我使用更新的進展來自動處理它。

三是針對使用jQuery的ajax調用。 當我要做出一個Ajax調用我用這個

$('#<%=updProgress.ClientID %>').css("display", "block"); 

當Ajax調用完成,我用這個

$('#<%=updProgress.ClientID %>').css("display", "none"); 

以下是標記加載我的指示。這兩個放在正文標籤後面。

<asp:Panel ID="pnlLoading" runat="server" Visible="true"> 
    <div class="progressBackgroundFilter"> 
    </div> 
    <div class="processMessage"> 
     <img src="/_layouts/Img/ajax-loader.gif" alt="Loading" /> 
    </div> 
</asp:Panel> 
<asp:UpdateProgress ID="updProgress" runat="server"> 
    <ProgressTemplate> 
     <div class="progressBackgroundFilter"> 
     </div> 
     <div class="processMessage"> 
      <img src="/_layouts/Img/ajax-loader.gif" alt="Loading" /> 
     </div> 
    </ProgressTemplate> 
</asp:UpdateProgress> 

而當網頁加載我用這個

$(document).ready(function() { 
     var objdiv = $('#<%=pnlLoading.ClientID%>'); 
     if (objdiv) { 
      objdiv.css('visibility', 'hidden'); 
     } 
     $('#<%=updProgress.ClientID%>').css("display", "none");  
    }); 

希望這有助於

+0

真的非常感謝您的回答... – MoonLight

+0

你會解釋一下你的代碼! /爲什麼該面板和UpdateProgress具有相同的內容以及爲什麼要使用它們? – MoonLight