如何在单击项目时提交AutoCompleteExtender

Mar*_*own 1 asp.net autocompleteextender autocomplete asp.net-ajax

我在ASP.net表单上有一个文本框和一个按钮,用于执行搜索.我在AJAX工具包中添加了一个autocompleteextender来显示用户输入时的建议.这样可以正常工作,但我想要发生的是当用户在显示的建议列表中选择一个项目时触发按钮的Click事件.任何人都知道如何做到这一点?

Dil*_*e-O 6

由于项目选择事件将触发客户端JavaScript事件,我通常将以下代码添加到我的OnClientItemSelected事件方法:

<script type="text/javascript" language="javascript">
   function YourMethodHere(source, eventArgs)
   {
      $get('ctl00_BodyPlaceHolder_btnAutoSubmit').click();
   }
</script>
Run Code Online (Sandbox Code Playgroud)

你需要相应地找到你的按钮的正确名称,并在上面替换它.

作为一项附加功能,有时我希望能够在AutoComplete中键入值,并且如果我知道自己想要的话,立即点击回车键.为此,您需要在面板中包装AutoComplete文本框和按钮,并相应地设置默认按钮:

<asp:Panel ID="pnlAutoCompleteStuff" runat="server" DefaultButton="btnAutoSubmit">
   Search: <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
           <cc1:AutoCompleteExtender ID="aceSearch" runat="server"
                                      TargetControlID="txtSearch"                             
                                      ServiceMethod="YourMethodHere"                   
                                      ServicePath="YourServicePath"                                   
                                      MinimumPrefixLength="4"
                                      CompletionInterval="500"
                                      EnableCaching="False"
                                      OnClientItemSelected="AutoCompleteClientMethod"
                                      CompletionSetCount="3">
            </cc1:AutoCompleteExtender>
   <asp:Button ID="btnAutoSubmit" runat="server" Text="Select" />
</asp:Panel
Run Code Online (Sandbox Code Playgroud)