【问题标题】:Asp.Net Autocomplete set_contextKey "Object doesn't support this property or method"Asp.Net Autocomplete set_contextKey“对象不支持此属性或方法”
【发布时间】:2011-07-30 16:25:49
【问题描述】:

我在使用 jquery 和 javascript 从客户端设置上下文键时遇到问题。找不到ASP.Net的AutoCompleteExtender的set_contextKey函数。

这是我用于文本框和 AutoCompleteExtender 的 HTML...

<asp:TextBox ID="txtProduct" runat="server" AutoPostBack="true" OnTextChanged="txtProduct_TextChanged" Width="181px" /><ajaxToolkit:AutoCompleteExtender
    ID="AutoCompleteExtender_txtProduct" BehaviorID="acExt" runat="server" TargetControlID="txtProduct"
    CompletionListCssClass="autocomplete_completionListElement" CompletionListItemCssClass="autocomplete_listItem"
    CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem" MinimumPrefixLength="2"
    CompletionInterval="1000" ServicePath="~/WS/Service.svc" ServiceMethod="GetProductsByName"
    EnableCaching="true" DelimiterCharacters=";" UseContextKey="true" OnClientItemSelected="txtProduct_ClientItemSelected">
</ajaxToolkit:AutoCompleteExtender>

并且更改下拉列表的 jquery 是:

function ddlStore_onchange() {
    $('#acExt').set_contextKey($('#<%= ddlStore.ClientID %>').val());
}

它在 set_contextKey 函数上抛出错误。谁能解释我在这里做错了什么...

【问题讨论】:

    标签: jquery asp.net autocompleteextender


    【解决方案1】:

    所以第一个不起作用的原因确实有两个问题:

    1. 使用来自 asp.net ajax 工具包的$find() 扩展对象并添加方法属性,如.set_contextKey。在相同的对象上使用 jquery 选择器将不起作用。

    2. 此外,#acExt 选择器暗示客户端 id 标记“acExt”。 asp.net (

    如果要在 jQuery 中选择 asp.net 服务器标签,请改用 property/endswith 选择器 $([id$='serverID'])

    【讨论】:

      【解决方案2】:

      我发现换行了

      $('#acExt').set_contextKey($('#&lt;%= ddlStore.ClientID %&gt;').val());

      用这条线

      $find('acExt').set_contextKey($('#&lt;%= ddlStore.ClientID %&gt;').val());

      解决了这个问题。不知道为什么,有人可以帮忙吗?

      【讨论】:

      • $find 属于 AJAX,它返回整个组件而不是简单的 Javascriptjquery 对象,这就是为什么它能够使用 @987654327 找到方法 set_contextKey @
      • 这里的问题是#字符,在jquery中用于引用对象的id。当您使用 $find 时,您不需要 # 字符,因为它不是 jquery,只是在您的自动完成控件中使用或定义的 BehaviorID。
      猜你喜欢
      • 2013-10-05
      • 1970-01-01
      • 2015-07-02
      • 2019-04-09
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多