У меня есть AJAX AutoCompleteExtender, в GridView, как показано ниже:Набор ContextKey для AutoCompleteExtender внутри GridView
<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, каждый из которых имеет уникальный идентификатор.
Я тогда нашел 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
по выбранному индексу c hange of drop down, поэтому я могу установить контекстный ключ?
Добавить описание, чтобы сделать этот ответ лучше. –