小弟刚接触.net,上面交个任务让给网站搞一个自动匹配功能,我就在网上下载了一个ajaxtoolkit插件,没想到运行之后无法实现,在网上找了n个版本的代码都不好用,各位高人帮忙看看 谢谢~najax.aspx<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="najax.aspx.cs" Inherits="najax" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
    
      function pageLoad() {
      }
    
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        
        <asp:AutoCompleteExtender ID="ac1" runat="server" 
            CompletionInterval="1000" 
            MinimumPrefixLength="1" ServiceMethod="GetTextString" 
            ServicePath="najax.asmx" TargetControlID="txt1">
        </asp:AutoCompleteExtender>
        <asp:TextBox ID="txt1" runat="server"></asp:TextBox>
    </div>
    </form>
</body>
</html>najax.asmx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;/// <summary>
///najax 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
[System.Web.Script.Services.ScriptService]
public class najax : System.Web.Services.WebService {    public najax () {        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }    [WebMethod]
    public string HelloWorld() {
        return "Hello World";
    }    [WebMethod]
    public string[] GetTextString(string prefixText, int count)
    {
        string[] strArray = new string[count];        for (int i = 0; i < count; i++)
        {
            strArray[i] = prefixText + i.ToString();
        }        return strArray;
    }
    
}

解决方案 »

  1.   

    开发工具vs2008 SP1  系统为win7 旗舰版
      

  2.   

    <asp:AutoCompleteExtender ID="ac1" runat="server" 
                CompletionInterval="1000" 
                MinimumPrefixLength="1" ServiceMethod="GetTextString" 
                ServicePath="najax.asmx" TargetControlID="txt1"
    请一定添加该属性:CompletionSetCount="num";num是service中参赛count的值

            </asp:AutoCompleteExtender> 
      

  3.   

    哈哈~ 搜狗有时候就这样,经常乱组合还是不行 调试的时候没有任何错误 就是在页面上输入文字不弹出自动补全的文字 我之前用jquery的自动补全插件也是一样的问题  我都怀疑是不是我的人品有问题了
      

  4.   

    我知道了 你的textbox没有打开自动提交AUTOPOSTBACK=true 好像是这个属性
      

  5.   

    [ScriptMethod]
        [WebMethod]
        public string[] GetTextString(string prefixText, int count) 加[ScriptMethod] 试试
      

  6.   

    [ScriptMethod]
        [WebMethod]
        public string[] GetTextString(string prefixText, int count)加[ScriptMethod] 试试http://www.mybuffet.net
      

  7.   

    还是一样。。   跟其他方面有没有关系?比如iis 或者安全方面?
      

  8.   

    还有我用的是ASP.NET Ajax Library Beta version 091
      

  9.   

    回楼上,不是那的问题。刚才解决了,原来是scriptmanager的问题,换成ToolkitScriptManager就可以用了,谢谢各位了
      

  10.   

    楼主能给发个ToolkitScriptManager不?谢谢 一样的问题诶 邮箱 [email protected]
      

  11.   

    微软网站就有下啊,就是那个ajax 1.0的包。
      

  12.   


      楼主 你好!问下 我刚好遇到了和你同样的问题  你改的是哪个ToolkitScriptManager  能否把详细过程步骤告知.......3q...
      

  13.   

    就是ajax控件的那个ToolkitScriptManager,不是.net自带的那个。