如何在每个部分回发上将OnClientItemSelected重新绑定到autoCompleteExtender?

时间:2013-01-04 17:15:18

标签: c# ajaxcontroltoolkit scriptresource.axd

我正在使用我公司的共享用户控件库中的控件来实现AutoCompleteExtender。

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

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

在部分回发后,autocompleteextender“忘记”对“OnClientItemSelected”事件做什么并停止工作。

如果我硬编码执行OnClientItemSelected的jScript函数的两个选项中的一个,它确实有效,但是ScriptResource.axd保留了关于无效参数的错误,我假设因为我试图连接页面认为的东西已经连线了,即使它不是。

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

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

1 个答案:

答案 0 :(得分:0)

事实证明,重新绑定代码只需要在page_load中进一步降低。我发现这一点,同时向我的一位同事解释了这个问题。他要求查看错误并让我将代码剪切并粘贴到if(!IsPostback)包装器中,就像我星期五那样。我这样做了,但是周五我在包装器之前移动了代码。他只是指着包装纸下面,没有考虑它,我把它贴在包装纸下面。然后代码一致地工作,没有错误。

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