ajax autocomplete-extender funktioniert nicht
Ich habe eine autocompleate extender auf die textbox zeigt Datensätze als Liste aus Datenbank, sondern whern ich auf texbox und beginnen Sie mit der Eingabe nichts happned. mein html-code ist
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:AutoCompleteExtender ID="TextBox1_AutoCompleteExtender" runat="server"
Enabled="True" TargetControlID="TextBox1" ServicePath="~/WebService.asmx"
ServiceMethod="GetCompletionList"
MinimumPrefixLength="2"
CompletionInterval="1000"
EnableCaching="true"
CompletionSetCount="20"
DelimiterCharacters=";, :"
ShowOnlyCurrentWordInCompletionListItem="true" >
</asp:AutoCompleteExtender>
Und meinem web-service ist
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using MySql.Data.MySqlClient;
using System.Configuration;
///<summary>
///Summary description for WebService
///</summary>
[WebService(Namespace = "http://tempuri.org/")]
[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 WebService : System.Web.Services.WebService {
public WebService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public static List<string> GetCompletionList(string prefixText, int count)
{
MySqlConnection con = new MySqlConnection(ConfigurationManager.AppSettings["cn"]);
if (con.State == ConnectionState.Closed)
con.Open();
MySqlCommand cmd = new MySqlCommand("SELECT gotra FROM tbgotra WHERE gotra LIKE '%" + prefixText + "%'",con);
List<string> k = new List<string>();
using (MySqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
k.Add(sdr["gotra"].ToString());
}
}
con.Close();
return k;
}
}
Können Sie die Datenbank.asmx-code auch?
Ich rufe Liste der Objekte aus der Datenbank von meinem service-Methode. die ist oben angegeben.
IM sorry ich meine den Webservice.asmx-Datei, nur wollen, stellen Sie sicher, dass es richtig war.
ok, ich poste die ganze Datei
Ich rufe Liste der Objekte aus der Datenbank von meinem service-Methode. die ist oben angegeben.
IM sorry ich meine den Webservice.asmx-Datei, nur wollen, stellen Sie sicher, dass es richtig war.
ok, ich poste die ganze Datei
InformationsquelleAutor Vikas Rana | 2013-10-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie diese Zeile, ich erinnere mich, ich hatte das gleiche problem mal, wo es bei mir funktioniert lokal, aber nicht live.
Haben Sie eine Fehlerbehandlung? Wissen Sie, dass die Funktion tatsächlich gefahrene? Versuchen Sie, nur eine Codezeile hinzufügen, um eine Datei zu erstellen auf dem server und stellen Sie sicher, Ihre erstellt wird, ist dies, um Sicherzustellen, dass die Funktion läuft. Oder aber einen Haltepunkt in den code im debug-Modus...
es ist keine Fehlerbehandlung, ich denke, ich sollte versuchen zu ändern, das Paket von ajax control toolkit
Haben Sie versucht, die gesamte GetCompletionList-Funktion in der code-behind-Seite, wo das Textfeld ist nur um zu versuchen und sehen, ob es funktioniert es?
Kombinieren Sie die Attribute wie so: [WebMethod(), ScriptMethod()]
InformationsquelleAutor Kay Nelson
Sollten Sie verwenden
bevor die TextBox1
kopieren Sie einfach dieses Beispiel und Attribut ändern und verwendet.
InformationsquelleAutor user2178872
versuchen, diese Signatur für web-Methode:
public string[] GetCompletionList(string prefixText, int count, string contextKey)
Ich denke, dass der extender nicht akzeptieren, alle anderen return-Typ neben dem string[]
InformationsquelleAutor Mrudula
In meinem Fall hatte ich zu un-Kommentar, diese Zeile in der ASMX-Datei
InformationsquelleAutor Paulo Almeida