如何解决ASP.NET MVC:如何关闭浏览器窗口而不是返回视图?
| 我有一个实例,不是由我自己选择,而是在浏览器中有一个辅助弹出窗口。 将表单提交回服务器端MVC方法后,该方法完成后,我希望它关闭调用它的浏览器窗口。 除了返回\“ onReady \”中带有javascript的视图以关闭视图之外,还有其他方法可以做到这一点吗?解决方法
不,没有使用javascript(或返回将执行此javascript的视图)从服务器上实现此目标的方法。
, 将此视为您的观点:
@if (ViewBag.ShouldClose) {
<script type=\"text/javascript\">
window.close();
</script>
}
然后,如果设置了ShouldClose属性,它将运行该脚本并关闭窗口。
// in your controller
ViewBag.ShouldClose = true;
注意:我是从编辑器执行此操作的,因此您可能必须调整视图语法以使其正确解析。
, 我有同样的问题,@ Michael Kennedy的答案正是我所需要的!由于我使用的是MVC 2,因此必须更改语法。我在这里把它作为其他人的参考。
在视图中:
<% if ((bool)ViewData[\"ShouldClose\"]) { %>
<script type=\"text/javascript\">
window.close();
</script>
<% } %>
在控制器中:
ViewData[\"ShouldClose\"] = true;
不要忘记在每次调用视图时都设置ViewData,否则您将获得NullReference来强制转换为布尔值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。