2012-12-18 97 views
0

我需要一列動態添加到已經加載的頁面。該列由在加載.ascx頁面之後創建的對象(通過用戶交互)表示。在JavaScript的一面,我有一個帶TabPanel的Panel:重新渲染的.ascx頁面ExtJS的

var reportPanel = new Ext.Panel({ 
    layout: 'fit', 
    items: [ 
     new Ext.TabPanel({ 
      id: 'reportTabs', 
      renderTo: 'reportTabContainer', 
      activeTab: 0, 
      autoHeight: true, 
      minHeight: 600, 
      plain: true, 
      stateful: true, 
      deferredRender: false,//allows both reports to run at once 
      defaults: 
       { 
        autoHeight: true 
       }, 
      items: tabsConfig 
     }) 
    ] 
}); 

};

在tabsConfig項目看起來是這樣的:

{{ id: 'totalOperation', title: 'Total Operation', autoLoad: {{url: '" +Url.Action("Detail","OverallReport") +"', params: 'null', scripts: true, timeout: '9000000', method: 'POST'}} 

我的問題是,一旦列對象被創建,我需要一個特定的AJAX調用後重新呈現ASCX頁面(又名extJSpanel) 。我曾嘗試panel.removeAll(true)以及panel.doLayout(false,true),而不會在面板中刪除任何元素,或刷新頁面。

總之 - 我需要在AJAX調用控制器之前銷燬一個.ascx頁面,並讓AJAX調用的返回重新填充ascx控件(使用return PartialView(...))。 任何建議將不勝感激。

回答

0

回答我的問題,這個代碼小片段解決了這個問題:

var contentPanel = Ext.getCmp('totalOperation'); 
contentPanel.autoLoad = { 
    url: 'URL path of controller method' 
}; 
contentPanel.doAutoLoad();