我在主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>
答案 0 :(得分:1)
每秒轮询非常昂贵。我建议您使用利用网络套接字的推送技术,例如优秀的库SignalR。
ASP.NET SignalR是一个面向ASP.NET开发人员的新库 非常简单,可以为您的实时添加实时网络功能 应用。什么是“实时网络”功能?这是能力 让您的服务器端代码将内容推送到连接的客户端 它会实时发生。
您可能听说过WebSockets,这是一个支持的新HTML5 API 浏览器和服务器之间的双向通信。 SignalR 当它可用时,它将使用封面下的WebSockets 优雅地回归到其他技术和技术时 不是,而您的应用程序代码保持不变。
SignalR还为服务器提供了一个非常简单的高级API 到客户端RPC(在客户端的浏览器中调用JavaScript函数) 来自ASP.NET应用程序中的服务器端.NET代码) 添加用于连接管理的有用钩子,例如连接/断开 事件,分组连接,授权。
答案 1 :(得分:0)
不要认为Gilad已经为SignalR做好了准备,尽管设置起来相对轻松。或者你可以使用。