2012-02-17 68 views
0

截圖頁面請稍候加載消息

enter image description here

ASPX CODE

<div style="width:729px;background:white;"> 
<div id="tabs"> 
<div><asp:LinkButton ID="LinkButtonDefinitions" runat="server">Definitions</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonEmployees" runat="server">Employees</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonFamily" runat="server">Family</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonHomeTown" runat="server">Home Town</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonOtherThanHomeTown" runat="server">Other Than Home Town</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonAdmissibility" runat="server">Admissibility</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonTypesOfLTC" runat="server">Types Of LTC</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonBlockPeriod" runat="server">Block Period</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonEntitlement" runat="server">Entitlement</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonAdvance" runat="server">Advance</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonAdjustmentofadvance" runat="server">Adjustment of advance</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonReimbursement" runat="server">Reimbursement</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButtonCarryOverForfeitureofclaim" runat="server">Carry Over & Forfeiture of claim</asp:LinkButton></div> 
<div><asp:LinkButton ID="LinkButton1RelaxationsInterpretations" runat="server">Relaxations & Interpretations</asp:LinkButton></div> 
</div> 
</div> 

後面的代碼

Public Sub loadContent(ByVal PageName As String) 
    Dim _con As New SqlConnection(ConfigurationManager.ConnectionStrings("LeaveDBConnectionString").ConnectionString) 
    Dim _da As New SqlDataAdapter("SELECT PageHeader,PageContent FROM PageKeeper WHERE PageName='" & PageName & "'", _con) 
    Dim _table As New DataTable 

    Try 
    _con.Open() 
    _da.Fill(_table) 
    _con.Close() 
    _con.Dispose() 
    With _table.Rows(0) 
     h4header.InnerText = .Item(0) 
     divUpdatePanel.InnerHtml = .Item(1) 
     Me.Title = .Item(0) 
    End With 
    Catch ex As Exception 
    'MsgBox(ex.Message) 
    divUpdatePanel.InnerText = "No Data Found" 
    Finally 
    _con.Close() 
    _con.Dispose() 
    End Try 
End Sub 

Protected Sub LinkButtonEmployees_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButtonEmployees.Click 
    loadContent("Employees") 
End Sub 

問題

當我在標籤上點擊,它需要幾秒鐘,以反映數據...我想顯示「請稍候加載」消息給用戶應後自動消失顯示數據。

UPDATE: ASPX代碼在UPdatePanel之內,因此單擊選項卡時會執行異步回發。謝謝。

+0

爲什麼要投票? – user1150440 2012-02-17 03:56:28

+0

你應該看看現在可用於ASP.net的AJAX控件。您基本上想要在將呼叫發送到服務器之前攔截呼叫,顯示您的消息,並在請求返回時刪除該消息。 jQuery可以使用它的.ajax()方法創造奇蹟。 – MunkiPhD 2012-02-17 03:57:18

+0

@MunkiPhD請給我一個好文章......如果你知道任何。謝謝。 – user1150440 2012-02-17 04:01:01

回答

1

使用Ajax你可以部分更新。或者您可以嘗試在更新面板中使用異步觸發器。 Ajax Update Panels

替代地,您可以使用Update Progress來顯示指示。喜歡這個 。

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
</asp:UpdatePanel> 

將您的更新面板配置到更新程序區域。

<asp:updateprogress id="UpdateProgress1" runat="server" associatedupdatepanelid="UpdatePanel1" dynamiclayout="true"> 
<progresstemplate> 
<img src="support/images/loading.gif"> 
</progresstemplate> 
</asp:updateprogress> 
+0

如果我使用'UpdateProgress' ...似乎我無法定位它..我想要它在頁面的中心......但現在它顯示在底部。 – user1150440 2012-02-17 04:15:35

+0

適用於CSS,以滿足您的需求 – 2012-02-17 04:17:22

+0

css不能應用我猜...因爲如果我把圖像放在一個div ...進度條停止顯示 – user1150440 2012-02-17 04:21:01

1

最好爲這種事情使用AJAX。線程不會幫助,因爲服務器將等待所有這些線程完成之後纔將響應返回給客戶端。使用消息加載頁面,然後使用AJAX加載數據。