我做了很多研究,并且能够在第二台显示器中完成打开“表单”或“弹出窗口”。这假设用户在其桌面上设置了两个显示器。
这里的问题是我只能在webforms应用程序中执行此操作。我可以将我的弹出窗体的StartPosition设置为Manual,然后使用按钮在父窗体中触发时,通过Screen.AllScreens属性设置位置。我正在尝试提供相同类型的功能,而不是在MVC应用程序中。
此时,我正在我的cshtml视图中对我的控制器进行简单的javascript调用,以返回局部视图,然后在新窗口中显示如下:
<script type="text/JavaScript">
var myWin = window.open('/HomeController/ActionThatGetsMyPartialView',"_blank");
</script>
我的HomeController有方法:
public PartialViewResult ActionThatGetsMyPartialView()
{
return PartialView("MyPartialView");
}
这就是我被困住的地方。我不确定如何控制将弹出的窗口的位置。我知道我可以使用javascripts屏幕对象设置窗口的位置,但我想这个“屏幕”对象与WinForms“屏幕”对象不同,后者让我可以访问用户在其计算机上设置的监视器
我不知道这是否是一件微不足道的事情,但我的googlefu还不足以找到任何针对MVC解决方案的东西!任何帮助表示赞赏。