2013-05-16 240 views
0

我有一個很難搞清楚如何做到這一點, 繼承人什麼,我試圖做的:Web網頁刷新更新面板

我有一個包含我有用戶的狀態網頁選擇遵循(類似Facebook的狀態)。 現在要做的是自動刷新網頁,以便每當用戶更改其狀態時,我將不必刷新網頁即可看到它。

狀態列表是位於UpdatePanel內部的Repeater,它的數據源是我創建的結構List<User>(沒有涉及數據庫)。每個用戶都有唯一的ID,名稱和狀態。 我遵循的用戶是一個字符串列表,其中包含存儲在會話中的用戶的ID。

我看了一下如何使用web服務,以及如何使用JavaScript但我仍然對如何通過web服務自動刷新的UpdatePanel的內容一無所知無數的文章。

+0

您是否有現成的網絡服務可以做到這一點?如果不是的話,那麼做一個「快速和骯髒」的方法可能是使用「頁面方法」。但是,請注意,使用這種方法將意味着您的方法將不會廣泛可用/可重用。請參閱http://www.geekzilla.co.uk/View7B75C93E-C8C9-4576-972B-2C3138DFC671.htm瞭解如何執行此操作的快速步驟。如果您打算使用Web服務,它可能有助於指示您是否有JQuery可用(因爲這可能是在客戶端進行調用的首選方法)。 – CalC

+0

我知道關於頁面方法,它並沒有真正的工作(我已經試過了),也許我沒有正確指定我的問題,編輯。 –

+0

而且沒有我沒有外部Web服務,因爲你不能從JavaScript調用 –

回答

1

這裏使用的計時器(爲更新面板)的很好的例子:

http://msdn.microsoft.com/en-us/library/cc295400.aspx

假設你使用JQuery然後就可以從這個調用web服務「Timer_Tick()」方法,使用以下內容:

JQuery & Timer :: Updating the text of a hyperlink from a webservice

+0

第一個答案使用代碼隱藏,因此它與我的案例無關,第二個答案確實幫助我解決了這個問題。還有一件事是如何使用javascript E.G更新Repeater:我打開了狀態頁面,並在頁面上更改了你關注的人。只要您選擇關注某人,我希望它會在狀態頁面上自動更新。 –

+0

我認爲立即*很難*使用上述架構獲取更新,因爲您可以隨意使用的所有更新都是輪詢機制。但是,如果您不想實時更新,這應該就足夠了。如果你確實需要實時更新,那麼你可能想要轉移到像[Signal-R](http://signalr.net/)提供的體系結構,該體系結合了諸如HTML5 WebSockets等特性。 – CalC

+0

你是對的,我設法做我想做的事情,但不得不使用__doPostBack,因爲我沒有辦法使用C#重新綁定使用當前架構的中繼器。謝謝 :) –