2010-04-16 65 views
1

我有一个网页,最初加载一个下拉列表。从列表中选择项目时,会在更新面板异步回发期间动态创建Web表单。ajax控制工具包更新面板中的水印扩展器

我在一些文本框中添加了水印扩展器,但是当页面第一次更新时不会显示水印。如果我将注意力集中在一个文本框之后,那么水印就会出现并且看起来工作正常。通过检查源代码,我发现客户端创建的水印正被附加到客户端上的Sys.Application的init事件中。

这里是我变得困惑。 1.我在客户端页面Sys.Application.initialize事件中添加了一个处理程序,以查看它是否在异步回发的生命周期中被调用。它似乎没有开火。 2.我尝试通过向PageRequestManager结束请求方法添加处理程序来引发初始化事件,但设置了检查页面是否已初始化的标志,因此未激发任何单个处理程序。 3.在1 & 2之后,我想可能是水印扩展器在我将焦点应用于它时以某种方式被延迟加载。所以我把应该在Initialize事件中执行的$ create语句放在PageRequestManager的End Request事件中。客户端脚本抛出一个错误,因为水印扩展器显然已经创建。

我不确定这里的解析是什么,除了写我自己的水印代码。这是一个限制(如果在页面的初始请求中创建,扩展程序是否只能正常运行)?那么init事件呢?我看不到它射击,但如果扩展器已经创建,它必须有?

任何帮助,将不胜感激。谢谢。

回答