在 ASP.NET 页面中,我有一个用户控件,我想使用 javascript 在其中执行一些操作。当该操作完成时,我想引发一个事件(再次在 javascript 中)由包含的 ASP.NET 页面(再次在 javascript 中)获取。

我想要这样做的原因是因为我在页面上有多个用户控件,我需要在一个用户控件中执行的操作来实例化另一个用户控件中的操作而不进行回发。

有谁知道如何做到这一点?

非常感谢。

您好,感谢您的回复。
我想做的是创建某种形式的封装。因此,如果 javascript 代码在一个用户控件中执行某些操作,则该用户控件不应该知道其他地方的影响。它会在 javascript 中引发一个事件,该事件可以被 asp.net 页面呈现的 javascript 拾取,如果需要,它可以反过来调用另一个用户控件中的 javascript 方法。
这里的想法也是消除对回发的任何需要。

希望这能更好地解释它。

最佳答案

我认为实现您所描述的内容的简单方法是忘记 JavaScript 事件,只需向用户控件提供“回调”函数。

我实现它的方式是在用户控件上公开一个公共(public)属性,它采用这个 JavaScript“回调函数”的名称。然后,用户控件在完成其客户端工作后负责调用此函数。

因此,使用用户控件的页面必须实现这个 JavaScript“回调函数”,然后在属性中将名称提供给用户控件。

说得通?

关于asp.net - 从 ASP.NET 用户控件引发 javascript 事件并在 ASP.NET 页面中进行处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/403048/

10-11 01:02