【问题标题】:How do I Rebind OnClientItemSelected to autoCompleteExtender on every Partial Postback?如何在每次部分回发时将 OnClientItemSelected 重新绑定到 autoCompleteExtender?
【发布时间】:2013-01-04 17:15:18
【问题描述】:

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

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

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

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

如果我对 jScript 函数执行 OnClientItemSelected 的两个选项之一进行硬编码,从表面上看它确实有效,但 ScriptResource.axd 不断抛出有关无效参数的错误,我认为是因为我试图连接页面认为的某些内容已经连线了,虽然没有。

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

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

【问题讨论】:

    标签: c# ajaxcontroltoolkit scriptresource.axd


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 1970-01-01
      • 2013-08-07
      • 2012-01-09
      • 2010-10-20
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多