提交form表单到MVC后台之后如何关闭当前页面

本文探讨了在使用MVC框架时,如何在提交表单后关闭当前页面的问题。尝试通过返回JavaScript脚本未成功,后采用在ViewBag中传递参数给前端,利用layui插件的特性实现窗口关闭。问题的关键在于表单提交后的页面刷新导致原有JS无法执行,解决方案是利用layui的特定方法完成关闭操作。
摘要由CSDN通过智能技术生成

       首先,我是做了一些尝试的,一开始我的想法是这样的,如果能返回一段javascript脚本并执行我就可以利用这段脚本关闭当前窗口。然而,无论我Content里面怎么写,甚至改第二个参数类似contentType的东西试图,改变返回到前端的这段脚本的格式,但是在前端总是冷冰冰的显示出原样,并不识别成javascript执行。

       后来,我想了一个办法我先用后台的ViewBag传递一个参数给前端,然后在前端根据这个参数比对来决定是否执行下面的一段脚本,一开始想法也简单用window.close()来关闭这个窗口,但是结果很不好,无论这个方法里面的window.close是否执行窗口都没办法关闭。后来我想想打开窗口的方式是xadmin.open对了是用layui的插件打开的这个窗口关闭的方式当然要用layui。

      最后附上一部分代码让大家参考,我参考了很多人说的方式自然都无法实现才考虑自己用一些方法来处理这个问题,这个问题有一些业务场景首先是submit按钮提交form表单到后台,自然不是ajax请求,如果是ajax请求想必简单多了。第二采取的方法提交表单之后仍然返回当前页面。你可以理解提交表单之后整个页面刷新了一下,你想在提交方法后面写一段js用来关闭窗口应该是不可能的因为这个时候页面刷新了,之前执行到的js又重头来过了。

下面是前端的代码:

<script type="text/javascript">
    $(document).ready(function () {
        if ('@ViewBag.isClose' == 'True') {
            debugger
            var index = parent.layer.getFrameI
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值