Coolite弹窗后如何在关闭下刷新父页面以及关闭前弹出信息
先看下图片:|
在Coolite中,对于弹出window,我更喜欢采用JS的方式弹出,因为可以很灵活的控制其在页面的最上层,而不会被某些层遮住。正如上面图片你所看到的,现在我们需要做的是:
1、添加一个“添加”按钮后,弹出一个window。
2、点击保存后,弹出提示信息,表明添加成功,然后刷新回列表。
弹出Window的方法如下,而对于刷新的方法,也是在这个函数中实现,其实是一个监听,StoreData是一个store的名称,这个东西绑定了GridPanel。
var Win = new Ext.Window({
id:"tmpWin",
width: 380,
modal:true,
height: 150,
title: vTitle,
layout: 'fit',
closeAction: 'close',
maximizable: false,
autoLoad: {
url: "CategoryEdit.aspx?RN_FatherID=<%=RN_FatherID %>"+"&CategoryID="+vID,
mode: "iframe"
},
listeners: {
"hide": function() {
<%=StoreData.ClientID %>.reload();
},
"close": function() {
<%=StoreData.ClientID %>.reload();
}
}
})
Win.show();
///<summary>
///添加成功并且关闭
///</summary>
///<param name="windowname">需要关闭的窗口名称</param>
public static void AddSuccessAndClose(string windowname)
{
string fn = @"function(but){if(but === 'ok'){parent.window."+windowname+".close();}}";
Ext.Msg.Show(new MessageBox.Config
{
Title = "提示",
Message = "保存成功",
Buttons = MessageBox.Button.OK,
Icon = MessageBox.Icon.INFO,
Fn = new JFunction { Fn = fn }
});
}
<ext:Button ID="btnCancel" runat="server">
<Listeners>
<Click Handler="parent.window.tmpWin.close(); " />
</Listeners>
</ext:Button>