我有两个脚本控件(代码非常简化):
class Form : IScriptControl
{
Panel pnl;
Button trigger;
public Form()
{
pnl = new Panel();
trigger = new Button();
IPresenter p = new Popup();
p.SetContent(this.pnl);
this.Controls.Add(trigger);
}
}
class Popup : IScriptControl, IPresenter
{
public void SetContent(Control content)
{
this.Controls.Add(content);
}
}
现在在 HTML 输出中,我看到以下内容(同样非常简化):
<div id="ctrlForm">
<div id="ctrlPopup">
<div id="ctrlFormPnl"></div>
</div>
<div id="ctrlFormTrigger"></div>
</div>
和脚本:
Sys.Application.add_init(function() {
$create(Form, {"_presenter":"FormPresenter"}, null, null, $get("ctrlForm"));
});
Sys.Application.add_init(function() {
$create(Popup, {"_isOpen":false}, null, null, $get("ctrlPopup"));
});
问题:我该怎么做,创建弹出窗口的脚本出现在表单脚本之前的页面上......换句话说,当 ctrlForm 控件的初始化程序执行时,我想获得对表单演示者的引用。
我希望我清楚地解释了我想要做什么。谢谢。