我正在构建一个实现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>
在页面加载时将事件处理程序分配给实例化控件的正确方法是什么?
答案 0 :(得分:2)
检查此
Sys.Application.add_load(handler);
答案 1 :(得分:0)
实际上,他们可以使用任何javascript库添加事件处理程序,如jQuery使用:
$(document).ready(function(){
$('#<%= my_control_id.ClientId%>').click(function(e){
// do something...
});
});
HTH。