[英]ASP.NET AJAX Server Control - Detecting Instantiation of Control
我正在创建一个自定义.NET AJAX服务器控件,并且需要访问与该控件关联的JavaScript对象功能。 我可以通过使用$ find方法在ScriptManager中找到控件来做到这一点。 但是,我需要确定何时可以调用$ find。 如果我在HTML页面正文的“ onload”事件上执行此操作,则它将找不到控件。 因此,我最终不得不在每次连接事件时都找到控件,并且我的代码最终看起来像这样:
function button1_click() {
var control = $find("<%=Control.ClientID%>");
control.DoSomething();
}
function button2_click() {
var control = $find("<%=Control.ClientID%>");
control.DoSomethingElse();
}
我宁愿一次存储该控件,并在其余的事件调用中使用它。 因此,我希望代码最终看起来像这样:
var _control = null;
function load() {
_control = $find("<%=Control.ClientID%>");
}
function button1_click() {
_control.DoSomething();
}
function button2_click() {
_control.DoSomethingElse();
}
让我知道这是否没有道理。 我是创建这些自定义控件的新手,所以我还不确定该术语。 谢谢你的帮助!
在初始化ASP.NET Ajax客户端框架之前,将发生“加载” DOM事件。 通过处理Sys.Application
对象的init
事件来初始化客户端控件。 这就是为什么输出ASP.NET Ajax控件的初始化脚本的原因:
Sys.Application.add_init(function() {
$create( ... )
});
您可以使用Sys.Application
对象的加载事件或其快捷方式pageLoad
方法。 它发生在init
事件之后,然后将初始化所有ASP.NET Ajax控件。 这是一些示例代码:
var _control = null;
function pageLoad() {
_control = $find("<%= Control1.ClientID %>");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.