随笔 - 52  文章 - 0  评论 - 468  阅读 - 59万

多层模态窗口showModalDialog页面提交及刷新

1  在第N(N>1)层的模态页面中,如果想链接到其他页面或者刷新当前页,只能

window.name = "__self";

    window.open(window.location.href, "__self")   //注意是2个下划线

替换 location.href

 

2  需要关闭N(N>1)层的模态窗口,并刷新第N-1层的模态页面时, 为防止刷新时弹出新窗口, 可以通过returnValue 以传递返回值给第N-1层模态窗口,来确认是否需要刷新

在按钮的提交事件中:

 代码

1 Response.Write("<script language='javascript'> ");
2 Response.Write("var w;if(window.dialogArguments != null)  w = window.dialogArguments;"); 
3 Response.Write("window.returnValue=1;window.close();");
4 Response.Write("</script>");
5 

 在第N-1层模态窗口内控制模态窗口的弹出并确认是否需要刷新该页面
代码

复制代码
1 <script type="text/javascript">
2     function OpenShowDialog(id) {
3         var isReflesh = window.showModalDialog('Test.aspx?id=' + id, window, 'dialogWidth=670px;dialogHeight=250px;status:no;directories:yes;scrollbar:no;Resizable:no');
4         if (isReflesh == 1) {
5             window.name = "__self";
6             window.open(window.location.href, "__self")
7         } 
8     }
9 </script>
复制代码

 

 

posted on   牦牛  阅读(1186)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2009年11月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

点击右上角即可分享
微信分享提示