我有一个带有动态创建的文本框的复合用户控件。在创建文本框并将其插入 ASCX 上的占位符时,我还动态创建了一个 AutoCompleteExtender,以刚刚创建的文本框为目标。如果我只添加一个 ACE,一切正常,但是一旦页面上存在多个 ACE,我就会收到以下错误:
Microsoft JScript 运行时错误:无法获取属性“_behaviors”的值:对象为空或未定义
这是 JScript 错误的特定位置,包含在 jQuery 中。
var c=a._behaviors=a._behaviors||[];
如果我在我的页面上创建虚拟文本框和 ACE,则相同的代码可以工作。但我需要在自定义控件中创建这些。
这表明我“做对了”——而且,因为我可以让 ONE ACE 在控件中正常工作。
我正在使用 Web 服务——不是页面方法——我意识到用户和自定义控件不能包含页面方法,它们必须在“页面”中。
我已经尝试了很多方法——我确保文本框都有唯一的 ID。ACE 都有唯一的 ID。我已经尝试过在定义的 ACE 上使用和不使用 BehaviorID(再次使用唯一 ID)。我知道 Web 服务有效,因为单个 ACE 运行良好。
我什至尝试将生成的 ACE 列表从控件传递到页面级别,并将它们插入到页面级别的占位符中。然后我得到 RTE 的文本框无法使用提供的 ID 找到。
在复合用户控件中添加多个 ACE 以及动态生成的文本框和扩展器的任何提示?
问候。