2015-12-02 108 views
1

我需要重新加載頁面上的一些div,我做了一些研究,其中大部分都表示jQuery是最簡單的方法。但我從來沒有使用過jQuery。刷新時間間隔

任何人都可以幫助我嗎?

對不起,這個曖昧的問題。讓我縮小它有點

HTML

<div style="height:400px; float:left" id="test"> 
    <table border="0" width="" style="table-layout: fixed; height: 400px;" > 
     <tr> 
      <td align="center" style="font-size:xx-large; width: 283px; font-family: Rockwell;border-color:#3366CC; border-style:solid" bgcolor="#3366CC"> 
       <asp:Label ID="lblHeaderLoket" runat="server"></asp:Label> 
      </td> 
     </tr> 
     <tr> 
      <td align="center" style="font-size:xx-large; font-family: 'Segoe Script'; width: 283px;border-color:#3366CC; border-style:solid"> 
       <asp:Label ID="lblHeaderPlatNumber" runat="server"></asp:Label> 
      </td> 
     </tr> 
    </table> 
</div> 

C#

private void BindHeaderObject() 
{ 
    CriteriaComposite cc = new CriteriaComposite(new Criteria(typeof(BoardQueue), "RowStatus", (short)DBRowStatus.Active)); 
    cc.And(new Criteria(typeof(BoardQueue), "Status", (short)CallCustomerStatus.Open)); 

    Collection<BoardQueue> collBoardQueue = new ServiceFacade(User).SelectList<BoardQueue>(cc); 

    if (collBoardQueue.Count != 0) 
    { 
     Counter counter = new ServiceFacade(User).SelectById<Counter>(collBoardQueue[0].CounterID); 

     lblHeaderLoket.Text = counter.Name; 
     lblHeaderPlatNumber.Text = collBoardQueue[0].PlatNumber; 
    } 
    else 
    { 
     lblHeaderLoket.Text = "-"; 
     lblHeaderPlatNumber.Text = "-"; 
    } 
} 

笏我想是刷新只有div的,而不是整個頁面。每次刷新時,它都會從數據庫中獲取最新數據。

+0

會有什麼'refresh'嗎? – void

+0

@void所以我有一個gridview裏面的數據是從數據庫的數據庫。所以每次刷新我希望它從數據庫中獲得新數據 –

+0

爲此,你應該準備好'AJAX' – void

回答

0

您將不得不使用jQuery AJAX函數。

你必須創建一個文件,你要在ajax中調用併發布到你的div。

有一個爲例:

AJAX一部分(在JS):

var oAjaxCall = $.ajax({ 
    type: "POST", 
    url: "./someAction.php", 
    success: function(data){ 
     $('#refreshDiv').html(data); 
    } 
}); 

datasomeAction.php迴歸。請記住:您不能在someAction.php中執行「退貨」。如果您使用PHP或通常在HTML中顯示,則應使用echo來回顯您的內容。

,將創建內容(someAction.php)文件:如果你想叫它1分鐘的後爲例,使用的setInterval()

echo 'Hello world !'; 

;

Here的jQuery Ajax函數文檔,你可以找到setInterval函數here的文檔。

如果你願意,我可以寫一個小功能,向您展示如何做到這一點:)

+0

我忘了告訴你。 'data'是'someAction.php'的返回。如果你不明白我的答案,但很抱歉,我不會說英語。 – SatanicGeek

+1

你可以編輯你的答案並添加此評論。 –

+0

Wow'SatanicGeek'...你必須使用'eval()'很多 –

0

1. jQuery的方法

我看到,有沒有點,如果你正在使用ASP。網絡服務器控件更新客戶端控件中的表。 我建議使用jQuery Ajax來調用一個Web方法,該方法返回更新數據並將其列在HTML表格中。這比使用服務器控制更輕量級的解決方案。

2.服務器控制方法

您通過刷新div每個區間意味着可能會使用UpdatePanel服務器控制什麼。您將GridView放入ContentTemplateUpdatePanel之內。並將UpdateMode設置爲conditional

最終,您的UpdatePanel將呈現爲div。你可以給它命名任何類。

雖然,您也有一個Timer控件,它會更新您的UpdatePanelx秒。

0

如果您希望在每隔「N」秒間隔後重新加載Div/Table數據,請使用jQuery SetInterval方法。

在設置的Interval內部,您可以調用Ajax調用並更新Ajax成功塊中的數據。

例:

setInterval(function(){ 
$.ajax({ 
url: "YouUrl", 
success: function(response){ 
    //Code to update the Table or Div 
} 

}); 

}, 3000);