最新的一个项目里,使用jquery的dialog方法打开了一个新的页面,但是在这个新的窗口时要求刷新父窗体。试了一下几种办法
1. //window.parent.frmright.document.execCommand('Refresh') ; 本页面内,但是会有提示框
//window.parent.frmright.location.reload() ; 与上面的一样
//window.parent.frmright.history.go(0) ; 本页面内,有提示框
执行完毕后页面会有一个提示框 “若要再次显示该网页,web浏览器需要重新发送您以前提交的信息。若是正在交易,单击去掉避免重复交易。若否,请单击重试再次显示该网页”
相当于再页面里执行的F5,页面的一些viewstate还保留。
2.以下方法倒是可以实现,但是若是再第二页修改时,父窗体就变成了第一页(父窗体的viewsata没有保存住)
//非本页,没有提示框
//window.parent.frmright.location.href = window.parent.frmright.location.href;
//window.parent.frmright.location.assign( window.parent.frmright.location.href) ;
// window.parent.frmright.window.navigate( window.parent.frmright.location.href) ;
//window.parent.frmright.location.replace( window.parent.frmright.location.href) ;
//window.parent.frmright.document.URL= window.parent.frmright.location.href ;
3.还有一种方式(此方法没有试验)
就是打开窗体是父窗体的viewstate做一个保留,等关闭的时候,根据这些viewstate重新调用页面;这样的话所有父窗体的页面都需要修改,代价比较高。