如何关闭弹出窗口&将视图模型返回到上一个视图?

时间:2016-12-15 11:26:08

标签: javascript c# asp.net-mvc

在我的MVC5应用程序中,我打开一个这样的弹出窗口:

<script type="text/javascript">
    function openNewWindow(e) {
        e.preventDefault();
        window.open("/Index/PopUp", "New Window", "height=700,width=500");
        return false;
    }
</script>
  

在弹出窗口中,我选择了一些数据&amp;想要将视图模型返回到上一个视图 - 这可能吗?

我开始认为使用弹出窗口可能不是最好的主意,但我有兴趣听到任何可能的解决方案......

2 个答案:

答案 0 :(得分:1)

这是不可能的(以你想要的方式),你需要将数据发布到服务器,并再次加载初始视图以刷新它的内容,你为什么不使用ajax调用Web服务(休息端点)来处理数据模型,你不需要window.open,你可以使用jquery模式对话框吗?

答案 1 :(得分:1)

为已打开的window分配全局参考,使用.close()关闭已打开的window

<script type="text/javascript">
    window.popup = void 0;
    function openNewWindow(e) {
        e.preventDefault();
        window.popup = window.open("/Index/PopUp", "New Window", "height=700,width=500");
        return false;
    }
    // do stuff after call to `openNewWindow`
    // close `window.popup`
    // window.popup.close();
</script>