在ext.net中从C#Code-Behind添加新窗口

时间:2013-02-22 09:13:16

标签: c# dynamic ext.net

我想从代码隐藏中添加一个新的Window ListenersDirectEvents来实现Button-Click上的管理界面。到目前为止,我有以下代码(最小化):

Window editwindow = new Window(){
   ID="Window_Edit",
   width = 380,
   height = 120,
   hidden = false
};
FormPanel editpanel = new FormPanel(){
   ID="Panel_Edit"
}; 
editpanel.Items.Add(new TextField(){
   ID="Edit_Fieldname",
   FieldLabel = "Some Label",
   LabelStyle="text-align:right;",
   Width = 260,
   LabelWidth=120
});
editwindow.Add(editpanel);
this.Page.Controls.Add(editwindow);
//Viewport.Add(editwindow); Viewport is a wrapping <ext:Container>
//editwindow.DoLayout(); this has been throwing a reference error on client-side

我想知道如何让窗口显示出来。现在,如果我使用firebug检查执行,则在Post Request上返回状态代码200: OK。但是在此之前我做了一些Store操作,并且响应不包含这些Store Changes!

现在有趣的是,更改触发Button的Text无故障,所以我确信不会执行完全重载。

1 个答案:

答案 0 :(得分:1)

我对我的回答做了一些假设,因为你没有发布一个展示整个场景的样本,但我认为修改以下内容应该有效:

// Old
// editwindow.Add(editpanel);
// this.Page.Controls.Add(editwindow);

// New
editwindow.Items.Add(editpanel);
editwindow.Render(this.Form);

以下示例还演示了在DirectEvent期间动态创建Window并添加的方案,请参阅

http://examples.ext.net/#/XRender/Basic/New_Window/

希望这有帮助。