我正在开发一个ASP.net Ajax自定义控件,我试图从ScriptControl派生,我还修改了我的代码来实现IScriptControl接口,并在PreRender和Render方法中进行次要的连接。
这些框架发出了对$create的调用:
Sys.Application.add_init(function() {
$create(MyControl.DynamicFormAjax,
{"allowMoveRows":true,"isEditMode":true},
null, null,$get("ctl00_body_dynaForm"));控件被初始化,并且我在初始化例程期间绘制它自己。
我遇到的问题是,我的页面无法获取组件的引用(我可以很好地获取dom元素)。我曾尝试使用$find("dynaForm"),但它返回null。
我还查看了Sys.Application.getComponents(),我看到的唯一组件是Ajax Toolkit的Modal弹出窗口,它也在这个页面上。
谢谢你的帮助!
发布于 2009-11-05 07:22:25
我已经设法解决了我的问题。当$create()检查我的组件的get_id()属性时,它似乎会返回一个空字符串。
我意识到我已经重新定义了自己的_element成员和一个get_element()属性。我去掉了这些,它开始工作了。
当我调试它时,它看起来像是this.element现在返回了一个元素数组,这就是id属性未定义的原因。奇怪的是,在函数的构造函数中定义this._element=element会导致this._element在被get_id()方法调用时变成一个数组
https://stackoverflow.com/questions/1677050
复制相似问题