【发布时间】:2014-03-03 04:59:11
【问题描述】:
我有一个包含table 的 MVC 视图。表中的一列是调用jQuery UI 对话框 的ActionLink。 当用户保存对话框中收集的数据时,我想刷新 MVC 视图以反映新数据。此外,其他机器上的许多用户可能同时查看“视图”, 当任何客户端使用对话框保存新数据时,我也想更新这些内容。我该如何做到这一点?
【问题讨论】:
标签: jquery asp.net-mvc-3 jquery-ui-dialog
我有一个包含table 的 MVC 视图。表中的一列是调用jQuery UI 对话框 的ActionLink。 当用户保存对话框中收集的数据时,我想刷新 MVC 视图以反映新数据。此外,其他机器上的许多用户可能同时查看“视图”, 当任何客户端使用对话框保存新数据时,我也想更新这些内容。我该如何做到这一点?
【问题讨论】:
标签: jquery asp.net-mvc-3 jquery-ui-dialog
听起来你想使用SignalR。它将允许您从服务器向客户端发送通知。一旦所有客户端都会自动更新,您就不需要再在客户端上专门处理任何正在执行更改的操作。
Building Real-time Web Apps with ASP.NET WebAPI and WebSockets - 描述了一点如何在客户端和服务器上通过 WebAPI 使用 SignalR。
当您获得新数据时,您可以在 HTML 中手动更新它们,也可以使用 knockout-JS 或 AngularJS 等框架来创建数据绑定。
但是,这非常复杂,只有当您确实希望所有其他客户端也更新数据时,我才会建议您这样做。我们正在通过重定向回相同的 URL 来解决 jQuery-UI-Dialog 更改后更新表格的问题。这在用户体验方面当然无法比拟,而且实施起来也很简单。
【讨论】: