Autocompleteextender控件在服务器上绑定数据库值花费了大量时间

Autocompleteextender control taking so much time on server to bind database values

本文关键字:时间 数据库 控件 服务器 绑定 Autocompleteextender      更新时间:2023-09-26

我在cs中使用了带有服务方法的自动完成扩展程序,以服务器&在复选框列表中显示选定的值(名称)。它在本地运行良好,速度快,但在服务器上从数据库获取值需要花费大量时间;一旦从"自动完成扩展程序目标"文本框中选择了值,则在复选框列表中显示一段时间后的值。我想像本地人一样做得很快。我使用了以下代码:

<asp:hiddenfield id="hdfvalue1" onvaluechanged="hdfvalue1_ValueChanged" runat="server"/>
<asp:TextBox ID="textbox1" runat="server"  autocomplete="off" Width="31.6%" ></asp:TextBox>
<div id="divwidth" >
</div>
<cc1:AutoCompleteExtender ServiceMethod="Searchmethod1" MinimumPrefixLength="1" 
    CompletionInterval="100" EnableCaching="true" CompletionSetCount="10" 
    TargetControlID="textbox1" ID="autocomplete1" runat="server" FirstRowSelected="true" 
    CompletionListCssClass="AutoExtender" CompletionListElementID="divwidth" 
    OnClientItemSelected="OnSelected"> 
</cc1:AutoCompleteExtender>
<script language="javascript" type="text/javascript">
   function OnSelected (source, eventArgs) {        
        var hdfvalueID = "<%= hdfvalue1.ClientID %>";
        document.getElementById(hdfvalueID).value = eventArgs.get_value();
        __doPostBack(hdfvalueID, ""); 
   } 
</script>   

我在MS-SQL中使用了c#3.5版本。请帮我解决以上问题。非常感谢。

在Autocomplete Extender中,您正在调用服务器端方法,这总是需要更多时间。

对于自动完成,您必须使用javascript或jquery插件,如

"http://www.devbridge.com/sourcery/components/jquery-autocomplete/"用于自动完成