首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要AutoCompleteExtender帮助

需要AutoCompleteExtender帮助
EN

Stack Overflow用户
提问于 2011-05-11 04:54:16
回答 1查看 275关注 0票数 1

我确信这是一个简单的解决方案,但我已束手无策。

我有以下ASPX

代码语言:javascript
复制
      <asp:TextBox ID="textVendorNameLookup" AutoPostBack="true" runat="server" Width="200px" 
                    onFocus="this.select()" 
                    Text=''></asp:TextBox>
                <ajaxToolkit:AutoCompleteExtender ID="VendorNameAutoCompleteExtender" TargetControlID="textVendorNameLookup"
                    FirstRowSelected="false" runat="server" ServiceMethod="GetVendor" CompletionInterval="1" 
                    EnableCaching="true" MinimumPrefixLength="1" UseContextKey="true" ServicePath="VendorLookupWebService.asmx">

                </ajaxToolkit:AutoCompleteExtender>

和下面的ASMX

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Xml;


/// <summary>
/// Summary description for VendorLookupWebService
/// </summary>
[WebService(Namespace = "http://rouses.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class VendorLookupWebService : System.Web.Services.WebService
{

    public VendorLookupWebService()
    {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [WebMethod]
    //public string[] GetOrganization(string prefixText)
    public static List<String> GetVendor(string prefixText)
    {

        var cmdText = "Select vmvnnm from dbmoto..apvendp where vmvnnm like @prefixText and vmasts = 'A'";

        using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MAINConnectionString"].ToString()))
        using (var cmd = new SqlCommand(cmdText, conn))
        {
            cmd.Parameters.Add(new SqlParameter("@prefixText", string.Format("%{0}%", prefixText)));
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();

            var Vendors = new List<string>();

            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Vendors.Add(dr["vmvnnm"].ToString());
                }
            }
            conn.Close();
            return Vendors;
        }

    }
}

但是,当我在文本框中键入内容时,webservice不会触发...

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-11 04:57:06

GetVendor函数必须与下面的签名完全匹配:

代码语言:javascript
复制
public string[] GetVendor(string prefixText, int count)

如上所述,here

返回类型、参数名称和类型必须完全匹配,包括case。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5956364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档