2013-10-19 108 views
-2

我在一個主div裏面有幾個網格視圖,我需要每隔1秒用JavaScript刷新一次主div。刷新頁面的一部分

我不想用計時器和觸發器的Ajax,因爲當頁面滾動時,我有「跳躍」 - 一個已知的問題。 (或不是?)

正如你可以在網格視圖中看到的,我有從數據庫中獲取的圖片。 所以我們的目標是通過每1秒更新一次來獲得最新的圖片。 我可以用JavaScript來做到這一點嗎? 這將是很好,如果我將有一些淡出淡出效果以及!

<div id="Main"> 

<div id="Grid1"> 

<asp:GridView ID="GridBox1" runat="server" AutoGenerateColumns="False">  
<Columns> 
<asp:ImageField DataImageUrlField="Image_path" DataImageUrlFormatString="~/Pic/{0}" HeaderText="pic"> 
<ControlStyle Height="200px" Width="200px" /> 
</asp:ImageField> 
</Columns> 
</asp:GridView> 

</div> 


<div id="Grid2"> 

<asp:GridView ID="GridBox2" runat="server" AutoGenerateColumns="False">  
<Columns> 
<asp:ImageField DataImageUrlField="Image_path" DataImageUrlFormatString="~/Pic/{0}" HeaderText="pic"> 
<ControlStyle Height="200px" Width="200px" /> 
</asp:ImageField> 
</Columns> 
</asp:GridView> 

</div> 

</div> 

回答

1

這是非常昂貴的民意調查每一秒。我建議您使用推送技術,而不是使用網絡套接字,例如,優秀的圖書館SignalR

ASP.NET SignalR是ASP.NET開發人員的一個新的圖書館,它使 太簡單了實時網絡功能添加到您的應用程序 。什麼是「實時網絡」功能?這是 能夠讓您的服務器端代碼將內容推送到連接的客戶端,因爲它實時發生了 。

您可能已經聽說過WebSockets,這是一種新的HTML5 API,支持瀏覽器和服務器之間的雙向通信。 SignalR 將在可用的情況下使用WebSockets,並且 在其應用程序代碼保持不變的情況下優雅地回退到其他技術和技術,而不是 。

SignalR也爲此提供服務器 到客戶端RPC一個非常簡單的,高層次的API在ASP.NET應用程序(調用JavaScript函數在客戶端的瀏覽器 從服務器端.NET代碼),以及 爲連接管理添加有用的鉤子,例如連接/斷開連接 事件,分組連接,授權。

0

不要以爲Gilad已經準備好了SignalR,儘管它的設置相對來說不痛。或者你可以使用一個。