ASP.NET MVC中的Form.target问题

在维护OA系统的时候碰到了一个问题:

文件上传时后台要传回信息来确认上传正确。方案如下:

在前段提交时,触发一个js函数完成提交:

function ChangeForm(str) {
            var form = document.forms['FormEdit'];
            if (str == "1") {
                //
                // 此处为目标iframe的ID
                //
                form.target = "ifrm1"
            }
            else {
                form.target = "_self"
            }
            //执行SUBMIT  
            form.submit();
        }

后台返回一段脚本:

return Content("<script>window.parent.SetDoc('/" + ViewData["fjdoc"].ToString().Replace("\\", "/") + "')</script>");

来调用setDoc函数完成“上传成功”字符的显示。

但是再按原页面的保存键时却发生了后台的View全部返回到iframe里面了。其实只要在保存时重新执行以下changeForm函数把form.target设置为_self即可

另外附上一段target的属性值及其含义:

target属性指定所链接的页面在浏览器窗口中的打开方式,它的参数值主要有:_blank、_parent、_self、_top,这些参数值代表的含义如下: 

◎_blank,在新浏览器窗口中打开链接文件。 

◎_parent,将链接的文件载入含有该链接框架的父框架集或父窗口中。如果含有该链接的框架不是嵌套的,则在浏览器全屏窗口中载入链接的文件,就象_self参数一样。 

◎_self,在同一框架或窗口中打开所链接的文档。此参数为默认值,通常不用指定。

◎_top,在当前的整个浏览器窗口中打开所链接的文档,因而会删除所有框架


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值