打开多个子窗口并跟踪它们

时间:2010-08-18 12:36:41

标签: javascript asp.net-mvc vb.net extjs

情况就是这样。我的一个extjs页面上有一个按钮。此按钮可打开子窗口作为弹出窗口。此子窗口具有.method属性以及.ref属性,还有.id。每当我点击该按钮时,我都需要使用SAME模板打开另一个窗口的功能。

我在考虑将childwindow .method属性设置为'getWindow',将.ref设置为'newWindow'之类的东西,然后在后端创建一个javascript函数,看起来像这样:

var myArray = [];
var count = 0;
function getWindow() {
    newWindow.Id = count;
    getWindow().show();
    myArray[count] = count;
    count++;
}

这会有用吗?

编辑:

Using ViewDetailsWin As New Pages.ChildWindow
        With ViewDetailsWin
            .Id = "Test"
            .IconCls = Model.WorkflowStepDefinition.SmallIcon
            .Ref = "viewDetailsWin"
            .RenderTo = "workspacePanel.getEl()"
            .DestroyerRef = "mainPanel"
            .MethodName = "getViewDetailsWin"
            .Title = "View Details/Amortization Schedule"
            .Layout = Pages.Panel.LayoutType.Fit
            .Closable = True
            .CloseAction = Pages.Window.CloseActionType.Hide
            .Minimizable = True
            .Modal = False
            .Height = 700
            .Width = 1000
            .BodyStyle = "padding:10px"

还有更多......

2 个答案:

答案 0 :(得分:1)

你是什么意思相同的模板?点击该按钮,您想要一个完全相同的窗口吗?然后创建一个Ext.Window组件,并在每次单击该按钮时创建一个新实例。

例如:

MyWindow = Ext.extend(Ext.Window, {
    width: 300,
    height: 300,
    title : 'my window',
    ref: 'whatever',
    method: function(){},
    initComponent: function () {
        MyWindow.superclass.initComponent.call(this);
    }
});

function createWindow(){
     var win = new MyWindow();
     win.show();
}

单击该按钮,调用此createWindow函数。现在要跟踪所有Windows,看看ExtJS的WindowGroup或WindowMgr组件。

答案 1 :(得分:0)

我走了另一条路。我在同一个MVC文件夹中创建了另一个名为“Details.aspx”的视图。然后使用Javascript我只是每次打开该视图作为弹出窗口。