Ext.net:PreviousPage.FindControl问题

时间:2013-07-10 12:39:20

标签: asp.net ext.net

我的主页是这样的。

<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到达它,但也没有工作   我的第二个问题是,如何在这些页面之间传递参数。

1 个答案:

答案 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
    }