2012-04-17 67 views
3

我的場景:在特定表格中添加新行時刷新客戶端瀏覽器

客戶端登錄後,我的用戶將被重定向到index.aspx頁面。 在這個頁面裏面我會把一個div與gridview放在一起。 這個gridview將顯示來自一個表的數據。

我的問題是:如何刷新這個gridview總是有一條記錄是 保存在這張表上?

詩:從來就看到了很多使用「服務器推」 TECNOLOGY,彗星,AJAX等 鴕鳥政策知道做到這一點的最佳途徑,不容找到一個非常簡單的例子,例子。

回答

2

當一個新的記錄添加到該表中,真正的挑戰是連通而不輪詢間隔這些更改實時客戶端或要求某種用戶相互作用。

你有兩個選擇:

  1. 最好的辦法是使用WebSocket,使客戶端和服務器之間的雙向通信。這是我會選擇的解決方案。

    下面是使用WebSockets一些例子:


    還有一些很好的圖書館也會照顧大部分的腿部工作。一對夫婦退房是WebSyncPokeIn。這兩款產品都提供體面的文檔和社區版本,您可以免費下載。

    這裏有一些教程來看看:

  2. 使用AJAX來輪詢每變化X秒數。如果檢測到更改,則重新加載該頁面,否則不做任何事情。

+0

**使用AJAX每隔X秒輪詢一次更改。如果檢測到更改,請重新加載頁面,否則不要執行任何操作。**您能否告訴我應該如何計算所做的更改? – Pankaj 2012-04-17 17:36:23

+0

@PankajGarg:你是什麼意思計算所做的更改?對傳入顯示的記錄數的函數進行AJAX調用,並返回一個布爾值。該方法將返回一個行計數,如果'recordsDisplayed!= existingRecords',用異步回調重新綁定網格。 – 2012-04-17 17:43:58

+0

更新時會發生什麼情況? – Pankaj 2012-04-17 17:45:04

0

把你的網更新面板內,並設置「更新模式」始終

+0

你能告訴,我應該如何刷新此GridView的? – Pankaj 2012-04-17 17:15:54

+0

當它位於更新面板內且始終更新模式時,對網格的每次更改都將被捕獲並刷新。你不需要做任何我認爲的事情。 – ZERO 2012-04-17 17:20:09

+0

所以,我可以做到沒有更新面板? – Pankaj 2012-04-17 17:21:52

0

您可以使用更新面板,使用AJAX的引擎蓋下。請參閱此link進行簡短的演示。

1

您可以使用setinterval javascript方法。我充當計時器並使用提交表單來刷新頁面。其他方法可以ASP.NET AJAX工具箱定時器控制here

0

您也可以使用普通的老HTML

<META HTTP-EQUIV="REFRESH" 
CONTENT="15;URL=http://www.I18nGuy.com/index.html">