我的主页是这样的。
<ext:ResourceManager ID="ResourceManager1" runat="server" Theme="Gray" />
<form id="form2" runat="server">
<ext:Panel runat="server" ID="anaPanel" Title="OSO" Icon="Car">
<TopBar>
<ext:Toolbar runat="server" Layout="FitLayout">
<Items>
<ext:Menu ID="Menu1" runat="server" Floating="false" Layout="HBoxLayout" ShowSeparator="false"
AnimCollapse="true" Cls="horizontal-menu">
<Defaults>
<ext:Parameter Name="MenuAlign" Value="tl-bl?" Mode="Value" />
</Defaults>
<Items>
<ext:MenuItem ID="MenuItem1" runat="server" Text="" Icon="Group">
<Menu>
<ext:Menu ID="Menu2" runat="server">
<Items>
<ext:MenuItem Text="new card" Icon="GroupAdd">
<DirectEvents>
<Click OnEvent="AddNewCart_Click"></Click>
</DirectEvents>
</ext:MenuItem>
...............
...............
</ext:Panel>
<ext:Window runat="server" ID="MyWindow" Hidden="true"></ext:Window>
</form>
我的maninpage代码背后有这样的东西。
protected void AddNewCart_Click(object sender, DirectEventArgs e)
{
string path = "Pages/Kart.aspx";
Window win = CreateWindows(MyWindow,Icon.Group,path,"new card", 420, 500);
//private Window CreateWindows(Window Mywindow , Icon ic,string path,string Title, int Heigh, int With){......};
//I get the MyWindow and pass some values and turn it back.
win.Render(this.Form);
win.Show();
}
在Kart.aspx里面我有一些按钮,我的第一个问题是,如何关闭这个窗口。我按下一个按钮关闭这个窗口(加载Kart.aspx的窗口),这里有一些方法我怎么样但是他们都没有工作。
1 -
if (PreviousPage != null)//previouspage come as a null.
{
Window wnd = PreviousPage.FindControl("MyWindow") as Window;
wnd.Close();
}
2-
Window wnd = Parent.Page.FindControl("MyWindow") as Window;
wnd.Close();
3 - 我也尝试将MyWindow作为公共内部主页并尝试从Kart.aspx到达它,但也没有工作 我的第二个问题是,如何在这些页面之间传递参数。
答案 0 :(得分:1)
您可以通过调用
在客户端执行此操作 window.parent.Ext.getCmp('MyWindow').close();
修改强>
最接近调用后的代码是使用
btnClose.AddScript("window.parent.Ext.getCmp('MyWindow').close();");
修改2
如果代码更复杂,如重新加载网格或修改表单,则执行以下操作:
<强>代码隐藏强>
X.Call("ReloadGrid");
<强>的JavaScript 强>
function ReloadGrid() {
var grid = window.parent.Ext.getCmp('GridId');
//grid reloading code
}