у меня есть два элемента управления сценария и один элемент управления имеет другой, как дочерний элемент управления: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');
}
}
Проблема, каждый раз, когда я пытаюсь это говорит этот метод не найден или не поддерживается. Не следует ли доступ ко всем методам ChildControl к ParentControl?
Есть ли способ, которым я должен сделать метод общедоступным, чтобы ParentControl мог его видеть?
Обновление Можно ли «набрать» this._childControl?
Вот почему я спрашиваю ... Когда я использую Watch, система знает, что такое класс ChildControl, и я могу вызывать методы из самого класса, однако я не могу вызывать те же методы из этого. Объект _childControl. Вы могли бы подумать, что если класс (?) В памяти распознает существующий метод, и объект, созданный из этого класса, тоже будет.
Следующая проблема заключается в удалении обработчика, так как он выглядит так, будто ребенок удаляется перед частью, и поэтому (я предполагаю) объект управления дочернего элемента больше не выполняется. –