【问题标题】:AjaxControlToolkit - Can't get AutoCompleteExtender workingAjaxControlToolkit - 无法让 AutoCompleteExtender 工作
【发布时间】:2011-01-28 13:25:00
【问题描述】:

我无法让 AutoCompleteExtender 工作。这可能是一件微不足道的事情。在 VS2010 中使用 .NET 4 默认的 ASP.NET 项目。

代码:

<asp:TextBox runat="server" ID="example" autocomplete="off" />
<ajaxToolkit:AutoCompleteExtender
            ID="autocomplete"
            runat="server" 
            TargetControlID="example"
            ServicePath="~/services/AutoComplete.asmx" 
            ServiceMethod="GetCompletionList" 
            CompletionInterval="1" />

Web 服务有效 - 代码实际上是从 AJAX 控制工具包示例中逐字复制的。这真的让我很沮丧。我在这里查看了其他问题,但尚未找到解决方案。

我没有收到任何错误或异常。在文本框中键入不会执行任何操作,Web 服务不会到达断点。

【问题讨论】:

  • 您有任何错误吗?这是什么行为?
  • 我没有收到任何错误或异常。在文本框中键入不会执行任何操作,Web 服务不会到达断点。
  • 在服务中放一个断点,看是否触发。确保您没有任何权限问题。还要确保您的服务使用 [System.Web.Script.Services.ScriptService] 属性进行装饰,以通过 JSON 进行通信。
  • Brian 建议的答案在我将其设为页面方法时有效,但是,我宁愿使用 Web 服务来避免代码重复。想法?一定有错误记录在某处,即使它是未找到 - 我如何找到它。

标签: asp.net asp.net-ajax ajaxcontroltoolkit


【解决方案1】:

看看这个例子,确保你的匹配:http://www.asp.net/ajaxlibrary/act_AutoComplete_simple.ashx

此外,请确保 Web 服务具有准确的参数;如果不是同一个签名,那也可能有问题。

HTH。

【讨论】:

  • 这行得通。现在我的问题是网络服务拒绝触发。
  • 您是否也将指向 Web 服务的指针添加到 ScriptManager 控件?
【解决方案2】:

确保输入参数名称的大小写正确:

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

确保使用正确的大小写 prefixTextcount

【讨论】:

  • 谢谢,但不幸的是不是这样。 Web 服务是从示例代码中逐字复制的。
【解决方案3】:

这在我重复使用基于 AutoCompleteExtender 的用户控件的新网站上不止一次发生在我身上。我建议您使用Fiddler 来捕获和检查来自浏览器的 POST 以及来自服务器的响应。安装和启动轻而易举。运行后,您在 TextBox 中键入几个字符,然后检查 Fiddler 捕获的 Web Session 条目。如果您看到一个或多个带有错误代码的条目,请检查它们以了解您的 IIS(或 ASP.Net)服务器生成的错误详细信息。这样一来,您通常会很快找到问题的根源。

最近,我的问题是我忘记取消注释 WebService 类的 ScriptService 属性:

// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]

【讨论】:

    【解决方案4】:

    尝试从服务路径中删除 ~/。

     ServicePath="services/AutoComplete.asmx"
    

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      相关资源
      最近更新 更多