【发布时间】:2013-02-09 07:26:20
【问题描述】:
我在 GridView 中有一个 AJAX AutoCompleteExtender,如下所示:
<asp:GridView
ID="GV1"
runat="server"
AllowPaging="True"
OnPageIndexChanging="GV1_OnPageIndexChanging"
OnRowCommand="GV1_RowCommand">
...
<asp:TextBox
ID="txt1"
runat="server"
onkeyup = "SetContextKey()">
</asp:TextBox>
<cc1:AutoCompleteExtender
ID="AutoCompleteExtender1"
runat="server"
TargetControlID="txt1"
ServiceMethod="GetACEList"
ServicePath="AutoComplete.asmx"
UseContextKey = "true"
MinimumPrefixLength="1"
EnableCaching="true"
CompletionSetCount="1"
CompletionInterval="100"
CompletionListCssClass="autocomplete_completionListElement"
CompletionListItemCssClass="autocomplete_listItem"
CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem">
</cc1:AutoCompleteExtender>
...
</asp:GridView>
尝试设置上下文键时,我无法在客户端和服务器端访问 AutoCompleteExtender 。
在客户端,我尝试了:
function SetContextKey() {
$find('AutoCompleteExtender1').set_contextKey($get("<%=ddlCountry.ClientID%>").value);
}
但 JavaScript 无法找到“AutoCompleteExtender1”对象。 我意识到这是因为生成的 HTML 中有很多“AutoCompleteExtender1”对象,每个对象都有一个唯一的 ID。
然后我找到this article,我尝试在服务器端设置上下文键:
protected void ddlCountry_OnSelectedIndexChanged(object sender, EventArgs e) {
AutoCompleteExtender1.ContextKey = ddlCountry.SelectedValue;
}
但代码编译失败并出现以下错误:
The name 'AutoCompleteExtender1' does not exist in the current context
问题:
如何访问 AutoCompleteExtender1 对象的下拉选择索引更改,以便我可以设置上下文键?
【问题讨论】:
标签: asp.net ajax autocompleteextender