我有一个ASP.NET MVC应用程序,可以在新的浏览器窗口中打开“请求”视图。当用户提交表单时,我希望窗口关闭。在保存请求信息后,我的RequestController代码应该如何关闭窗口?我不确定控制器动作应该返回什么。
答案 0 :(得分:28)
您可以返回包含以下javascript的视图(或者您可以返回JavaScript结果),但我更喜欢前者。
public ActionResult SubmitForm()
{
return View("Close");
}
查看关闭:
<body>
<script type="text/javascript">
window.close();
</script>
</body>
这是一种直接在你的控制器中进行操作的方法,但我建议反对它
public ActionResult SubmitForm()
{
return JavaScript("window.close();");
}
答案 1 :(得分:3)
像这样:
[HttpPost]
public ActionResult MyController(Model model)
{
//do stuff
ViewBag.Processed = true;
return View();
}
观点:
<%if(null!=ViewBag.Processed && (bool)ViewBag.Processed == true){%>
<script>
window.close();
</script>
<%}%>
答案 2 :(得分:2)
听起来你可以返回一个几乎空的View模板,它只是在标题中运行了一些javascript,只是运行了“window.close()”。
答案 3 :(得分:0)
这让我关闭了窗户。
控制器:
return PartialView("_LoginSuccessPartial");
查看:
<script>
var loginwindow = $("#loginWindow").data("kendoWindow");
loginwindow.close();
</script>
答案 4 :(得分:0)
这对我有用:
[HttpGet]
public ActionResult Done()
{
return Content(@"<body>
<script type='text/javascript'>
window.close();
</script>
</body> ");
}
答案 5 :(得分:0)
您可以通过以下代码关闭:
return Content(@"<script>window.close();</script>", "text/html");
答案 6 :(得分:-1)
使用此功能可以关闭窗口,如下所示:
return Content("<script language='javascript'>window.close();</script>");