1)看一下Knockout.js
它遵循MVVM模式,并将根据对模型的更改自动向视图推送通知。例如,查看它们的可观察数组,以提供有关它们如何执行操作的更多信息。
2)将其与SignalR混合使用,您现在应该可以将通知发送给处理文档的其他用户。从他们的网站:
SignalR还提供了一个非常简单的高级API,用于在ASP.NET应用程序中执行服务器到客户端RPC(从服务器端.NET代码在客户端浏览器中调用JavaScript函数),并添加了用于连接管理的有用钩子,例如连接/断开事件,分组连接,授权。
因此,您需要在Knockout.js的模型级别上具有一些挂钩,以便在发生更改时进行一些SignalR调用。其他客户端将收到SignalR的通知,然后触发其模型副本的相应更改,这将推回到其视图。
这是两个框架的有趣组合,您应该能够搜索和收集更多信息来处理细节。
例如,此代码项目示例专门解决Co Working UIs and Continuous Clients了您似乎正在尝试做的事情。
新时代的Web应用程序可能需要提供新时代的用户体验-并应正确处理共同工作和连续的客户场景。这涉及确保用户界面本身在设备之间和用户之间正确同步,以确保应用程序和用户界面的状态保持“原样”。
这篇博客文章似乎是一系列博客文章的切入点,讨论了这两个软件包的用法,并与传统的ASP.NET方法进行了对比。在设计网站时,可能会提供一些注意事项。
这篇博客文章似乎更加基础,并为组合这两个软件包提供了基础。
披露:我与上述任何链接都不隶属,也没有真正研究过它们的内容以了解声音的正确性或正确性。