• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
ProHackStudio
博客园    首页    新随笔    联系   管理    订阅  订阅

Iframe中Window(全局遮罩)始终位于最顶层,及关闭后刷新数据(top.Ext.Window使用)

Iframe中Window(全局遮罩)始终位于最顶层,及关闭后刷新数据(top.Ext.Window使用)

当前页面(Menu.aspx)中创建top.Ext.Window窗口。

JavaScript代码如下:

 1         Ext.onReady(function () {
 2             var Window1 = new top.Ext.Window({
 3                 id: "Window1",
 4                 autoRender: false,
 5                 height: 450,
 6                 loader: {
 7                     loadMask: {
 8                         showMask: true,
 9                         msg: "页面加载中..."
10                     },
11                     renderer: "frame"
12                 },
13                 width: 650,
14                 layout: "fit",
15                 collapsible: true,
16                 iconCls: "#ApplicationSideTree",
17                 defaultRenderTo: "form",
18                 maximizable: true,
19                 modal: true,
20                 directEvents: {
21                     hide: {
22                         fn: function (item) {
23                             Ext.net.directRequest({
24                                 url: "Menu.aspx/BindData",
25                                 cleanRequest: true,
26                                 eventMask: {
27                                     showMask: true,
28                                     msg: "正在处理线程..."
29                                 },
30                                 action: 'Hide'
31                             });
32                         }
33                     }
34                 }
35             });
36         });

其中:

 1                 directEvents: {
 2                     hide: {
 3                         fn: function (item) {
 4                             Ext.net.directRequest({
 5                                 url: "Menu.aspx/BindData",
 6                                 cleanRequest: true,
 7                                 eventMask: {
 8                                     showMask: true,
 9                                     msg: "正在处理线程..."
10                                 },
11                                 action: 'Hide'
12                             });
13                         }
14                     }
15                 }

即实现窗口Hide时调用Menu.aspx页面中的BindData方法。

Menu.aspx页面调用按钮:

1                     <ext:Button runat="Server" Icon="Add" Text="新增菜单" ID="BtnNew">
2                         <Listeners>
3                             <Click Handler="top.App.Window1.title='新增菜单';top.App.Window1.loader.url='SysMenu/NewMenu.aspx';top.App.Window1.show();">
4                             </Click>
5                         </Listeners>
6                     </ext:Button>

即设置top.Ext.Window标题及frame URL,然后显示该窗口。

实现的效果为

子页面页面(SysMenu/NewMenu.aspx)关闭按钮:

1             <ext:Button runat="server" Icon="Cancel" Text="关闭" ID="BtnCancel">
2                 <Listeners>
3                     <Click Handler="parent.App.Window1.close();">
4                     </Click>
5                 </Listeners>
6             </ext:Button>

窗口关闭后,重新绑定Menu.aspx页面数据(自动回发,调用Menu.aspx页面中的BindData方法)。

posted @ 2013-03-31 18:06  ProHackStudio  阅读(1483)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3