2012-02-24 55 views
0

我創建了Extjs.Panel,現在我想動態加載一個內容到它。所以我寫了這個簡單的代碼Extjs - 不能加載內容到面板

Ext.get('contentPanel').load({ 
        url: '@Url.Action("TempView","Home")' 

        }); 

執行此功能之後,面板被填充TempView,但幾秒鐘後,我在ExtJS的圖書館得到一個錯誤

Microsoft JScript runtime error:Unable to get value of the property 'events': object is null or undefined.

編輯 我flollowed @DmitryB意見我使用庫的調試版本。這是我發現的。原來,問題出在功能

getElementEventCache 

這是在文件EXT-ALL-debug.js定義的行11108.函數看起來這樣

getElementEventCache : function(element) { 
     if (!element) { 
      return {}; 
     } 
     var elementCache = Ext.cache[this.getId(element)]; 
     return elementCache.events || (elementCache.events = {}); 
    }, 

唯一的例外是在甩最後一行,因爲elementCache爲null。

enter image description here 這裏是VisualStudio的

enter image description here

+0

在Chrome中運行此命令可查看完整的堆棧跟蹤。還要切換到調試版本的extjs,以更好地理解錯誤。它可能會或可能不會與您的加載事件相關。 – dbrin 2012-02-25 06:18:56

+0

@DmitryB我編輯了我的問題,並添加了一些更多信息 – John 2012-02-26 13:06:33

+0

不幸的是我以前沒有見過這個。這個函數中的「元素」是什麼引發異常?你還提到:'異常是以姓氏引發的'。你是什​​麼意思?加載事件的內容是什麼,你有沒有試過腳本:真正的選擇? – dbrin 2012-02-26 18:45:21

回答

1

我有一個非常類似的錯誤將通過添加以下行解決。 (從this forum thread

if(Ext.isIE) { 
    Ext.enableGarbageCollector=false; 
} 
+0

如果你只是在IE中出現這個錯誤,它看起來像我遇到了同樣的錯誤。堆棧跟蹤返回到垃圾回收。 – Robert 2012-04-06 22:21:33

0

堆棧跟蹤我使用的波紋管代碼和工作涼爽。這可能會幫助你。

試試這個

var content_div = Ext.get(div_id); 
    content_div.load({ 
    url:your_url,params:{id:'abc'},scripts:true,text: 'Loading...'}); 
    content_div.show(); 
+0

不幸的是,這不起作用 – John 2012-02-24 15:07:04

+0

contentPanel是任何HTML標記ID或Extjs組件ID。如果是Extjs組件,則使用Ext.getCmp('contentPanel')訪問; – siva565 2012-02-24 15:19:56