【发布时间】:2010-04-16 20:56:35
【问题描述】:
我有一个最初加载下拉列表的网页。当从列表中选择一个项目时,会在更新面板异步回发期间动态创建一个 Web 表单。
我在一些文本框中添加了水印扩展器,但在页面首次更新时水印不显示。如果我将注意力集中在其中一个文本框内,然后再从其中一个文本框中移出,水印就会出现并且似乎可以正常工作。通过检查源代码,我看到客户端创建的水印被附加到客户端上 Sys.Application 的 init 事件中。
这就是我感到困惑的地方。 1. 我在客户端页面 Sys.Application.initialize 事件中添加了一个处理程序,以查看它是否在异步回发的生命周期中被调用。它似乎没有触发该事件。 2. 我试图通过向 PageRequestManager End Request 方法添加一个处理程序来引发初始化事件,但是设置了检查页面是否已经初始化的标志,因此没有一个单独的处理程序被触发。 3. 在 1 和 2 之后,我认为当我对它应用焦点时,水印扩展器可能会以某种方式被延迟加载。所以我把应该在初始化事件中执行的$create语句放在PageRequestManager的End Request事件中。客户端脚本抛出错误,因为显然已经创建了水印扩展器。
除了编写我自己的水印代码之外,我不确定这里的解决方案是什么。这是一个限制吗(如果在页面的初始请求中创建扩展器,扩展器是否才能正常工作)?那么 init 事件呢?我看不到它触发,但如果扩展器已经创建,它一定有???
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: asp.net ajax controls toolkit watermark