知识在于积累(.NET之路……)

导航

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 }

});
}
windowname指的是窗体的名称,在这个例子中指的是:tmpWin。另外,这里的“取消”按钮的代码为:
<ext:Button ID="btnCancel" runat="server">
<Listeners>
<Click Handler="parent.window.tmpWin.close(); " />
</Listeners>
</ext:Button>

posted on 2011-06-07 09:42  汤尼  阅读(348)  评论(0编辑  收藏  举报