从单个操作同时显示多个视图(网页)的最佳方法是什么?

时间:2016-12-09 22:02:35

标签: asp.net-mvc

使用MVC 5 ...... 我有一个目前包含太多内容的视图(网页)。这太忙了,很难理解。

我想要的是创建视图(网页)以创建2个视图(网页)的操作,其中当前内容在两个视图之间划分。当再次调用该操作时,我需要更新两个视图的内容。我想要两个单独的页面,而不是同一页面上的多个局部视图(我的搜索结果已经显示)。能够同时查看所有内容非常重要。

您有多少次打开2个网页并将它们并排放置在显示器上,以便您可以比较内容。这就是我想要做的。

我知道我可以在显示第二页(target = _blank)的第一页上有一个操作链接,但这意味着用户必须单击该链接。我不希望这样。我希望显示所有内容,而无需用户干预。我知道我可以在第一页上打开一个JavaScript window.open来打开第二页,但这似乎是一个不必要的黑客。

先生。谷歌没有其他帮助,只是说服我,我正在尝试做一些不是最佳实践的事情。因此,我愿意接受有关显示更符合MVC最佳实践的页面内容的替代方法的任何建议。

1 个答案:

答案 0 :(得分:0)

我对这个问题的解决方案:SignalR!

来自:https://www.asp.net/signalr/overview/getting-started/introduction-to-signalr

" ASP.NET SignalR是ASP.NET开发人员的库,它简化了向应用程序添加实时Web功能的过程。实时Web功能是指服务器代码在连接的客户端可用时立即将内容推送到连接的客户端,而不是让服务器等待客户端请求新数据。"

我的主要" page是一个标准的MVC视图(在我的例子中)使用Ajax来促进用户与页面的交互。在" main"上有一个动作链接。页面,可选择显示第二个"详细信息" page(目标=" _blank")。一旦"细节"页面可见,两个窗口可以根据需要放在显示器上。

"详情"页面使用SignalR更新。它是SignalR客户端。当用户在" main"上发布活动时页面,关联的控制器操作为" main"构建新内容。页面预览。它还使用SignalR Hub将消息广播到"详细信息"页。

当控制器操作结束时,两个页面都已更新。