簡體   English   中英

在運行時將客戶端事件添加到ASP.Net自定義控件

[英]Add client-side events to ASP.Net custom control at runtime

我正在構建實現IScriptControl的ASP.net自定義控件。 我希望控件的其他用戶能夠將客戶端事件處理程序分配給控件。 不幸的是,由IScriptControl生成的JS總是注入到呈現頁面的最底部(請參見下文),因此在ASPX頁面中分配事件處理程序的任何嘗試都會失敗,因為代碼執行得太早了。

...
<script type="text/javascript"> 
//<![CDATA[
Sys.Application.initialize();
Sys.Application.add_init(function() {
    $create(MyNamespace.MyControl, {}, null, null, $get("my_control_id"));
});
//]]>
</script>
</form>

在頁面加載時將事件處理程序分配給實例化控件的正確方法是什么?

檢查這個

Sys.Application.add_load(handler);

實際上,他們將能夠使用任何javascript庫(如jQuery)添加事件處理程序,方法是:

$(document).ready(function(){

 $('#<%= my_control_id.ClientId%>').click(function(e){
  // do something...
 });

});

HTH。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM