【问题标题】:simple asp.net autocompleteExtender not working简单的 asp.net autocompleteExtender 不工作
【发布时间】:2017-01-22 23:26:11
【问题描述】:

我目前在使用 ajax autoCompleteExtender 时遇到了一些问题。

.aspx 文件

  <asp:toolkitscriptmanager runat="server" ID ="scropt" EnablePageMethods ="true" EnablePartialRendering ="true">
        </asp:toolkitscriptmanager>


        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

        <asp:AutoCompleteExtender ID="AutoCompleteExtender1" MinimumPrefixLength="2" TargetControlID ="TextBox1" 
            ServiceMethod="GetCompletionList" runat="server"  CompletionInterval ="100"></asp:AutoCompleteExtender>

.aspx.cs 文件

 [System.Web.Script.Services.ScriptMethod]
        [System.Web.Services.WebMethod]
        public static string[] GetCompletionList(string prefixText, int count)
        {

            System.Diagnostics.Debug.WriteLine("prefix:" + prefixText);
            List<string> list = new List<string>();

            list.Add("hello");
            list.Add("world");
            list.Add("everyone");

            return list.ToArray();
        }

此代码的预期行为是在文本框中输入 2 个字母时返回一个字符串值列表的文本框下拉列表。然而,这并没有发生。我使用 fiddler 跟踪我的 http 请求,并意识到文本框没有向服务器发送任何 http 请求。有谁知道这是什么原因,还是我的代码有问题?

【问题讨论】:

  • 我认为您使用的是过时版本的 toolkitscriptmanager..尝试使用最新的 ajax 工具包并使用 scriptmanager 而不是 toolkitscritptmanager
  • 您是否使用 asp.net 脚本管理器控件检查过这个。请检查此链接,它可能对您有帮助。aspsnippets.com/Articles/…

标签: asp.net ajax autocomplete


【解决方案1】:

@weejing 我运行您的代码,它运行良好。 如果有任何混淆,请复制我的代码。

aspx 代码

 <body>
        <form id="form1" runat="server">
        <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </cc1:ToolkitScriptManager>
         <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" MinimumPrefixLength="1" TargetControlID ="TextBox1" 
                ServiceMethod="GetCompletionList" runat="server" CompletionInterval ="100">
    </cc1:AutoCompleteExtender>
        </form>
    </body>

aspx.cs 代码

[System.Web.Script.Services.ScriptMethod]
        [System.Web.Services.WebMethod]
        public static string[] GetCompletionList(string prefixText, int count)
        {

            System.Diagnostics.Debug.WriteLine("prefix:" + prefixText);
            List<string> list = new List<string>();

            list.Add("hello");
            list.Add("world");
            list.Add("everyone");

            return list.ToArray();
        }

【讨论】:

    猜你喜欢
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 2013-12-11
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多