2013-10-28 9 views
6

मेरे पास टेक्स्टबॉक्स पर एक स्वतः पूर्ण विस्तारक है जो डेटाबेस से एक सूची के रूप में रिकॉर्ड दिखाता है लेकिन मैं चेक्सबॉक्स पर क्लिक करता हूं और कुछ भी खुश नहीं लिखना शुरू करता हूं। मेरी html कोडAJAX स्वत: पूर्ण विस्तारक काम नहीं कर रहा है

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

है और मेरे वेब सेवा

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

क्या आप डेटाबेस.asmx कोड भी डाल सकते हैं? –

+0

मैं अपनी सेवा विधि द्वारा डेटाबेस से ऑब्जेक्ट की सूची बुला रहा हूं। जो ऊपर दिया गया है। –

+0

आईएम क्षमा करें मेरा मतलब webservice.asmx फ़ाइल है, बस यह सुनिश्चित करना चाहते हैं कि यह सही था। –

उत्तर

4

कोशिश इस लाइन को जोड़ने है, मुझे याद है मैं एक बार में एक ही समस्या थी जहां स्थानीय स्तर पर यह मेरे लिए काम किया लेकिन नहीं रहते।

[WebMethod] 
[System.Web.Script.Services.ScriptMethod] <-- Add this line 
public static List<string> GetCompletionList(string prefixText, int count) 
.... 
+0

उत्तर देने के लिए धन्यवाद पोस्ट करूंगा लेकिन मेरे मामले में काम नहीं करता –

+0

क्या आपके पास कोई त्रुटि हैंडलिंग है? क्या आप जानते हैं कि वास्तव में कार्य चलाया जा रहा है? सर्वर पर फ़ाइल बनाने के लिए बस कोड की एक पंक्ति जोड़ने का प्रयास करें और सुनिश्चित करें कि इसे बनाया जा रहा है, यह सुनिश्चित करने के लिए कि फ़ंक्शन बिल्कुल चलता है। या डीबग मोड में कोड में ब्रेकपॉइंट ... –

+0

कोई त्रुटि प्रबंधन नहीं है, मुझे लगता है कि मुझे AJAX नियंत्रण टूलकिट के पैकेज को बदलने की कोशिश करनी चाहिए –

0

आप TextBox1

+0

यह एएसपी कहां है: ToolkitScriptManager मुझे कोई संदर्भ नहीं मिल सकता इसे कहीं भी? – djack109

+0

बस इस नमूना की प्रतिलिपि बनाएँ और विशेषता बदलें और इस्तेमाल किया। संदर्भ कुंजी तर्क का उपयोग कर – user2178872

0

से पहले में

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></asp:ToolkitScriptManager> 

उपयोग करने के लिए करना चाहिए वेब विधि के लिए इस हस्ताक्षर का प्रयास करें: public string[] GetCompletionList(string prefixText, int count, string contextKey) मुझे लगता है कि एक्सटेंडर अभ्यस्त स्ट्रिंग के अलावा []

किसी अन्य वापसी प्रकार स्वीकार
+0

वैकल्पिक है। – Mrudula

0

मेरे मामले में, मुझे एएसएमएक्स फ़ाइल

में इस पंक्ति को अन-टिप्पणी करना पड़ा
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService] 
संबंधित मुद्दे