Добавить новое окно из C# Code-Behind в ext.net

Я хотел бы добавить новый Window с работающими Listeners и DirectEvents из кода программной части, чтобы реализовать интерфейс администратора в 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, в почтовом запросе возвращается код состояния 200: OK. Но я выполняю операцию Store за несколько строк до этого, и ответ не содержит этих изменений Store!

Самое смешное, что изменение текста триггерной кнопки работает без сбоев, поэтому я уверен, что полная перезагрузка не выполняется.


person Vogel612    schedule 22.02.2013    source источник


Ответы (1)


Я делаю несколько предположений в своем ответе, потому что вы не опубликовали образец, демонстрирующий весь сценарий, но я думаю, что пересмотр следующего должен работать:

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

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

В следующем примере также демонстрируется сценарий динамического создания окна во время события DirectEvent и добавления элемента , см.

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

Надеюсь это поможет.

person geoffrey.mcgill    schedule 22.02.2013