說一個方法,我有兩個腳本控件和一個控制有其他的子控件:ASP.Net ScriptControl的 - 從另一個調用
ParentControl : ScriptControl
{
ChildControl childControl;
}
的子控件腳本:
ChildControl = function(element)
{
ChildControl.initializeBase(this, [element]);
}
ChildControl.prototype =
{
callMethod: function()
{
return 'hi';
},
initialize: function()
{
ChildControl.callBaseMethod(this, 'initialize');
},
dispose: function()
{
ChildControl.callBaseMethod(this, 'dispose');
}
}
而且在劇本方面我想呼籲子控件的方法:
ParentControl.prototype =
{
initialize: function()
{
this._childControl = $get(this._childControlID);
this._childControl.CallMethod();
ParentControl.callBaseMethod(this, 'initialize');
},
dispose: function()
{
ParentControl.callBaseMethod(this, 'dispose');
}
}
問題是,每次我嘗試這是說:此方法未找到或不受支持。不應該通過ParentControl訪問ChildControl上的所有方法嗎?
有什麼辦法讓我的方法公開,讓ParentControl可以看到它嗎?
更新 是否可以「鍵入」this._childControl?
這就是我要求的原因......當我使用Watch時,系統知道ChildControl類是什麼,並且我可以從類本身調用方法,但是,我無法調用與此相同的方法。 _childControl對象。你會認爲如果內存中的類設計(?)識別出存在的方法,並且從該類實例化的對象也會。
下一個問題是刪除處理程序,因爲它看起來像孩子被刪除之前的部分,因此(我猜)孩子的控制對象不再存在。 – 2008-12-31 15:37:29