web应用程序在两个浏览器窗口(ASP.净MVC)

本文关键字:窗口 ASP MVC 浏览器 两个 应用程序 web | 更新日期: 2023-09-27 18:06:41

我们正在构建一个ASP。NET MVC web应用程序在我们公司内部使用。由于业务的性质,如果我们给用户足够的屏幕空间,他们的工作效率会更高。我们的计划是为每个用户提供两个24英寸的显示器,并相应地设计应用程序的页面。我们希望为两个显示器使用两个浏览器窗口。

  • 带有输入表单的主窗口(左侧)
  • 查看器窗口可以显示附加文档的窗口(右侧)

当用户在主窗口中进行某些更改时,我想通过在那里设置一个新的URL来重新呈现查看器窗口。但是在主窗口中发生事件的情况下,我如何使查看器窗口加载新页面?确切地说,我希望查看器窗口加载相同的页面,但在URL中更改了参数(不同的文档ID)。

web应用程序在两个浏览器窗口(ASP.净MVC)

我建议查看SignalR

这里有更多信息

http://www.asp.net/signalr

这是一种从服务器向客户端发送信号的方式,用于更新信息。

编辑:

仔细想想,使用signalR的情况太简单了。

在javascript中你可以使用window。打开打开新窗口。当你这样做的时候,你可以给这个窗口一个名字。

关于window.open的更多信息

如果窗口已经打开,则更新窗口;如果窗口还没有打开,则打开窗口。

这是一个简单的例子。

$(function () {
    $("#btnGoogle").click(function () {        
        window.open("http://www.google.com", "testChildWindow");
    });
    $("#btnBing").click(function () {
        window.open("http://www.bing.com", "testChildWindow");
    });
});

这样做的缺点是视图窗口将被"绑定"到主窗口的实例。如果两个窗口都开着。关闭并重新打开主窗口,它将在下次窗口打开视图窗口的第二个实例。

我会将其构建为两个互不了解的独立页面。然后让用户在不同的标签页、不同的屏幕上打开这两个页面。对于输出屏幕,我将使用SignalR(正如smegs已经提到的)或ajax来显示系统中可用的新信息。