在ASP.NET用户控件中引发javascript事件

时间:2008-12-23 17:06:32

标签: asp.net javascript user-controls

是否可以在ASP.NET用户控件中引发“自定义事件”并在调用页面中订阅该事件?这样我可以让任何包含页面对用户控件中的更改做出反应,而不必进行部分或完全回发。

1 个答案:

答案 0 :(得分:2)

您正在尝试将服务器端代码与客户端代码混合使用。你可能最好使用内置的javascript事件:

control.Attributes.Add("onclick", "mgr.Click();"); //server-side

//Javascript:
var mgr = new Object();
mgr.Click = new function(e) { //...

也就是说,只要付出足够的努力和大量的hackery,你就可以得到足够的javascript并使用AJAX调用来实现效果;但它可能不值得;而且不是内置的。

或者 - 如果您的目标是在服务器端(而不是客户端)提升自定义事件并在javascript中处理它们,则渲染对函数的调用:

this.Controls.Add(new LiteralControl("<script type=\"text/javascript\">mgr.Filter('people');</script>"));