簡體   English   中英

需要AutoCompleteExtender幫助

[英]AutoCompleteExtender help needed

我相信這是一個簡單的解決方案,但我快要結束了。

我有以下ASPX

      <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

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;
        }

    }
}

但是,當我在文本框中鍵入內容時,Web服務未啟動。

有任何想法嗎?

GetVendor函數必須與以下簽名完全匹配:

public string[] GetVendor(string prefixText, int count)

如規定在這里

返回類型與參數名稱和類型必須完全匹配,包括大小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM