【问题标题】:Refresh a Partial View in all clients browsers programmatically以编程方式刷新所有客户端浏览器中的局部视图
【发布时间】:2015-08-09 01:43:28
【问题描述】:

我需要控制在我的 MVC 站点的管理端显示隐藏标签(一条消息),以便所有在线客户端浏览器都能够立即看到该消息,而无需手动刷新浏览器。 详细地说,一旦我更改页面中的设置并点击保存按钮,我希望部分视图(站点标题)中的隐藏标签立即显示给所有连接的浏览器。 我已经知道一些看起来不太好的方法:

  • 在页眉中使用 <meta http-equiv="refresh" content="5"> 会导致整个页面不断刷新,这不是我想要实现的目标。

  • 有一个 js setInterval() 函数,它每隔几秒就对一个动作进行 ajax 调用,并从动作中获取最新的设置值,然后在需要时更改 js 文件中的标签隐藏值。这会导致客户端和服务器之间的流量增加,并且还可以防止会话由于 ajax 调用而过期。

    我想知道是否有适当的方法来实现这一点。

【问题讨论】:

  • 您可以使用 ASP.Net SignalR 进行推送而不是轮询。

标签: javascript c# asp.net-mvc partial-views partial-page-refresh


【解决方案1】:

您将需要在您的服务器和所有客户端之间实现一个套接字连接。 然后您可以向所有客户端发送包含该消息的广播。

看看这里,例如: http://socket.io/docs/

【讨论】:

    【解决方案2】:

    查看https://www.asp.net/signalr 上的 SignalR,您可以在其中从服务器调用客户端上的 JavaScript 函数。您还可以向函数发送参数。

    我对它的效果感到惊讶。

    按照 TUT,不知不觉就到了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-08
      • 2011-10-01
      • 1970-01-01
      • 2012-05-12
      相关资源
      最近更新 更多