0

我正在使用我公司的共享用户控件库中的一个控件,该控件实现了 AutoCompleteExtender。

我已将此控件放置在更新面板中。

我遇到的问题是 AutoCompleteExtender 的“OnClientItemSelected”属性是在初始页面加载时动态设置的。此时,属性设置没有问题,因为代码隐藏中的动态代码在 if(!IsPostback) 包装器中执行。

在部分回发之后,自动完成扩展器“忘记”在“OnClientItemSelected”事件上做什么并停止工作。

如果我对 jScript 函数执行 OnClientItemSelected 的两个选项之一进行硬编码,从表面上看它确实有效,但 ScriptResource.axd 不断抛出有关无效参数的错误,我假设是因为我正在尝试连接页面认为已经连接的东西起来,即使不是。

无论哪种方式,如果我强制 OnClientItemSelected 的设置发生,无论是否有回发,控件确实有效,但是 JavaScript 错误的静默丢弃既丑陋又令人担忧。如果可以避免的话,我也不想“破坏”共享控件。

那么,如何让 ScriptResource.axd 与 autocompleteextender 在每个部分回发时重新绑定其 OnClientClick 配合得很好?

4

1 回答 1

0

事实证明,重新绑定代码只需要在 page_load 中再往下走。我在向我的一位同事解释问题时发现了这一点。他要求查看错误并让我从 if(!IsPostback) 包装器中剪切和粘贴代码,就像我在星期五所做的那样。我这样做了,但是在星期五我将代码移到了包装器之前。他只是指着包装纸下面,我不假思索地把它贴在包装纸下面。然后该代码始终如一地工作,没有错误。

只是去展示...共享的问题有时是解决的问题...

于 2013-01-07T10:56:16.540 回答