2009-11-04 26 views
0

一起工作我正在處理一個ASP.net Ajax自定義控件,我試圖從ScriptControl派生,並且我還修改了我的代碼以實現IScriptControl接口,並執行PreRender和Render方法中的nessecary接線。

的框架吐出至$呼叫建立:

Sys.Application.add_init(function() { 
     $create(MyControl.DynamicFormAjax, 
     {"allowMoveRows":true,"isEditMode":true}, 
      null, null,$get("ctl00_body_dynaForm")); 

控件初始化和我的初始化程序中自行繪製。

我遇到的問題是,我的頁面,然後無法獲得組件的引用(我可以得到的DOM元素就好了)。我試圖使用$ find(「dynaForm」),但它返回null。

我也看了一下Sys.Application.getComponents(),我看到的唯一組件是Ajax Toolkit的Modal Popup,它也位於同一頁面上。

感謝您的幫助!

回答

0

我設法解決了我的問題。看起來,當$ create()會檢查我的組件的get_id()屬性時,它會返回一個空字符串。

我意識到我已經重新定義了我自己的_element成員和一個get_element()屬性。我刪除了這些,它開始工作。

當我調試它時,它看起來像this.element現在返回一個元素數組,這就是爲什麼id屬性是未定義的。通過在函數的構造函數中定義this._element = [element]導致this._element在被get_id()方法調用時成爲數組,這種奇怪的做法是: