如何从控制器关闭ASP.NET MVC页面?

gfr*_*zle 20 model-view-controller asp.net-mvc

我有一个ASP.NET MVC应用程序,在新的浏览器窗口中打开"请求"视图.当用户提交表单时,我希望窗口关闭.在保存请求信息后,我的RequestController代码应该如何关闭窗口?我不确定控制器动作应该返回什么.

Dav*_*vid 30

您可以返回具有以下javascript的视图(或者您可以返回JavaScript结果),但我更喜欢前者.

public ActionResult SubmitForm()
{
    return View("Close");
}
Run Code Online (Sandbox Code Playgroud)

查看关闭:

<body>
    <script type="text/javascript">
        window.close();
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)

这是一种直接在Controller中执行此操作的方法,但我建议不要这样做

public ActionResult SubmitForm()
{
    return JavaScript("window.close();");
}
Run Code Online (Sandbox Code Playgroud)

  • 您通过关闭窗口来操纵UI.似乎不是控制器的责任. (5认同)
  • 您无法使用window.close()关闭窗口.你会得到"脚本可能只关闭它打开的窗口." (5认同)
  • 我只是试图返回JavaScript,它不起作用.它只显示"window.close();" 屏幕上.我在其他地方读到你应该使用Ajax调用此操作,但我无法测试它.只是抬起头来. (4认同)