JQuery UI автозаполнения и общий обработчик (ashx) - C # ASP.NET - PullRequest
1 голос
/ 05 ноября 2010

Я пытаюсь использовать автозаполнение JQuery, но, похоже, у меня возникают проблемы с получением ожидаемого формата из моего обработчика.

Вот что делает обработчик.Это было в другом вопросе ....

 context.Response.ContentType = "text/plain";
 var companies = GetCompanies(); //This returns a list of companies (List<string>)

 foreach (var comp in companies)
 {
     context.Response.Write(comp + Environment.NewLine);
 }

Это не работает.Это определенно вызывается, и это возвращает то, что я ожидаю, что этот код вернет.Есть идеи?

Ответы [ 2 ]

6 голосов
/ 05 ноября 2010

Он действительно должен быть в формате JSON, вот пример общего плана, который я использовал ранее:

    class AutoCompleteEntry
    {
        public int id { get; set; }
        public string label { get; set; }
        public string value { get; set; }
    }

    private void GetAutoCompleteTerms()
    {
        Response.Clear();
        Response.ContentType = "application/json";

        //evaluate input parameters of jquery request here

         List<AutoCompleteEntry> autoCompleteList= new List<AutoCompleteEntry>();
        //populate List of AutocompleteEntry here accordingly

        JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
        string json = jsSerializer.Serialize(autoCompleteList);
        Response.Write(json);
        Response.End();
    }
1 голос
/ 05 ноября 2010

Ответ должен быть в формате JSON.См. http://docs.jquery.com/UI/Autocomplete, где обсуждается использование строки, указывающей URL.

...