asp.net 点击子窗口顶部右上角的x关闭子窗口后,刷新父窗口,我表示我不会,求帮忙
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 点击子窗口顶部右上角的x关闭子窗口后,刷新父窗口,我表示我不会,求帮忙相关的知识,希望对你有一定的参考价值。
不是按botton关闭窗口,注意!
参考技术A 在window.open或者window.showmodaldialog后面加上刷新当前页的方法追问webform子窗体为
e.Row.Cells[7].Attributes.Add("onclick", "window.showModalDialog('DevPart.aspx?DevID=" + e.Row.Cells[0].Text + "','','dialogWidth:500PX;dialogHeight:420PX;scroll:no;status:no;center:true;help:No;location:no;)");
怎么加
把onclick的事件写成一个函数
function aaa()
if(window.showModalDialog('DevPart.aspx?DevID=" + e.Row.Cells[0].Text + "','','dialogWidth:500PX;dialogHeight:420PX;scroll:no;status:no;center:true;help:No;location:no;))
执行刷新的方法,这里写的是js脚本,参数什么的你自己传递到js脚本中去
window.close(); window.opener.location.reload() ;行吗
追答不用加opener,我也不建议用reload
直接写window.location.href=指向当前页面就行了
不行吧,这样子窗体会自动关闭把
追答不会,会在子窗体关闭后执行,写在打开窗体的if里面
参考技术B window.onunload=function()self.opener.location.reload(); //子窗口刷新父窗口
试试,你提问不明确没有说明是什么方式的子父窗口追问
webform子窗体为
e.Row.Cells[7].Attributes.Add("onclick", "window.showModalDialog('DevPart.aspx?DevID=" + e.Row.Cells[0].Text + "','','dialogWidth:500PX;dialogHeight:420PX;scroll:no;status:no;center:true;help:No;location:no;)");
怎么加
你是关闭子窗体然后刷新父窗体,当然在'DevPart.aspx页面加
window.onunload=function()
window.returnValue ='refresh';//子窗口刷新父窗口
试试这个,上面的不行因为你是showModalDialog打开的
或者下面这句,不同的打开方式需要不同的方法
window.opener.loaction.href = window.opener.location.href
试了,没有刷新
追答你百度下你js刷新父窗口吧,看看你那是什么方式。方式不一样用的也不一样,上面的绝对可以,没刷新就是你写的问题了
参考技术C 是winform 还是 webform ?如果是前者,你可以在Form_Closed 事件里执行刷新父窗体
或者在Form_Closing事件里追问
webform子窗体为
e.Row.Cells[7].Attributes.Add("onclick", "window.showModalDialog('DevPart.aspx?DevID=" + e.Row.Cells[0].Text + "','','dialogWidth:500PX;dialogHeight:420PX;scroll:no;status:no;center:true;help:No;location:no;)");
如果是showModalDialog的话,你可以给子窗体的body里加上onunload事件
在里面执行刷新父页面
例如:
function winclose()
//在这里刷新父页面
window.close(); window.opener.location.reload() ,运行的时候显示找不到location,脚本错误,父窗口没有刷新
追答你前面需要改一下,
e.Row.Cells[7].Attributes.Add("onclick", "window.showModalDialog('DevPart.aspx?DevID=" + e.Row.Cells[0].Text + "','','dialogWidth:500PX;dialogHeight:420PX;scroll:no;status:no;center:true;help:No;location:no;)");
改成:
e.Row.Cells[7].Attributes.Add("onclick", "window.showModalDialog('DevPart.aspx?DevID=" + e.Row.Cells[0].Text + "',window,'dialogWidth:500PX;dialogHeight:420PX;scroll:no;status:no;center:true;help:No;location:no;)");
你试试
window要加引号吗,照你那样出错了
追答不用加引号啊,就是要传递父页面的window对象给子页面
你试试在子页面里通过window.dialogArguments获取该window对象
用它来取代window.opener
以上是关于asp.net 点击子窗口顶部右上角的x关闭子窗口后,刷新父窗口,我表示我不会,求帮忙的主要内容,如果未能解决你的问题,请参考以下文章