[英]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.