【问题标题】:ASP.Net ScriptControl - Add the Javascript get_events method : Possible?ASP.Net ScriptControl - 添加 Javascript get_events 方法:可能吗?
【发布时间】:2025-12-21 06:05:11
【问题描述】:

所以我遇到了一个障碍,显然 get_events 方法只是“包含”在 ExtenderControl 类中。

我需要做什么:

能够使用 ScriptControl 调用 get_events Javascript 方法,因为此时使用 ExtenderControl 是不可能的。

我希望有一种简单的方法可以让 scriptControl 的 javascript 对象从某些东西继承(如果可能的话)。

【问题讨论】:

    标签: asp.net javascript ajax scriptcontrol extendercontrol


    【解决方案1】:

    原来 get_events 方法的创建非常简单。您只需要一个字段来保存字典、几行代码以及在需要时调用事件的内容:

    getEvents: function() 
    {
        if (this._events == null) 
        {
            this._events = new Sys.EventHandlerList();
        }
    
        return this._events;
    },
    

    现在访问:

    onItemSelected: function(args)
    {
       this.raiseEvent('userItemSelected', args);
    },
    
    raiseEvent: function(eventName, eventArgs)
    {
        var handler = this.getEvents().getHandler(eventName);
        if(handler)
        {
            handler(this._autoComplete, eventArgs);
        }
    
    },
    

    基本上,事件只是一个包含事件名称和要调用的方法的引用的字典。一旦有了方法(处理程序),只需调用它即可。

    【讨论】: