我有一個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'對象,每個對象都有唯一的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
問題:
如何訪問選定索引c上的AutoCompleteExtender1
對象下拉下拉以便我可以設置上下文鍵?
添加一些描述以使答案更好。 – 2016-06-27 19:07:26