2008-10-09 2 views
3

Почему я получаю текстовое поле, которое возвращает неопределенный список переменных?Почему мой ASP.NET AutoCompleteExtender не возвращается?

Когда я запускаю этот код:

var query = (from tisa in db.TA_Info_Step_Archives 
       where tisa.ta_Serial.ToString().StartsWith(prefixText) 
       select tisa.TA_Serial.ToString()).Distinct().Take(Convert.ToInt32(count)); 

return query.ToList<string>().ToArray(); 

я получаю этот XML-файл:

<string>200700160</string> 
    <string>200700161</string> 
    <string>200700162</string> 
    <string>200700163</string> 
    <string>200700164</string> 
    <string>200700170</string> 
    <string>200700171</string> 
    <string>200700172</string> 
    <string>200700173</string> 
    <string>200700174</string> 
    <string>200700175</string> 
    <string>200700176</string> 
    <string>200700177</string> 
    <string>200700178</string> 
    <string>200700179</string> 
    <string>200700180</string> 
    <string>200700181</string> 
    <string>200700182</string> 
    <string>200700183</string> 
    <string>200700184</string> 

НО, текстовое поле возвращает список undefined ....

Помогите пожалуйста?

ответ

4

обновил мой Аякса комплект до версии 1.0.10920 затем изменил код на следующее:

 foreach (DataRow dr in dt.Rows) 
     { 
      items.SetValue("\"" + dr["somenumber"].ToString() + "\"", i); 
      i++; 
     } 

поздно вечером в пятницу ночи с .net не весело. У меня нет жизни. :-P

+0

У меня была такая же проблема. Кажется, что добавление котировок вокруг элементов, возвращаемых ServiceMethod, делает трюк. – 2015-01-20 20:54:10

0

Похоже, проблема не с методом, но с тем, как вы подключаете автозаполнения к методу ... Является ли ваш Extender аналогично следующему:

<cc1:AutoCompleteExtender ID="Result" runat="server" TargetControlID="txtSearch" ServiceMethod="YourMethodHere" 
    ServicePath="~/Service/YourWebServiceHere.asmx"  CompletionInterval="500" 
    EnableCaching="false" CompletionListCssClass="AutoComplete_List" CompletionSetCount="10"> 
</cc1:AutoCompleteExtender> 
0

Проблема в том, Я вижу, что библиотека AJAX рассматривает числа как целые числа. Он должен смотреть на них как на струны.

Я преобразовал его в строку и ничего не получил. Я должен добавить какой-то символ к цифрам, чтобы их ценность теперь рассматривалась как строка. Это ужасно. Но где-то в библиотеке AJAX для файла автозаполнения .js они не ищут целые числа. Они ищут только строки, которые нужно посмотреть, потому что их способ строительства является ошибочным ...

Scott.

+0

Что вы получите от службы, если вы позвоните напрямую? – Bryant 2008-10-09 21:42:18

0

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

это выгоняет на undefineds ....

... 
da.Fill(dt); 
     string[] items = new string[dt.Rows.Count]; 
     int i = 0; 
     foreach (DataRow dr in dt.Rows) 
     { 
      items.SetValue(Convert.ToString(dr["somenumber"]), i); 
      i++; 
     } 
... 

где, как это загружает список просто отлично

... 
da.Fill(dt); 
     string[] items = new string[dt.Rows.Count]; 
     int i = 0; 
     foreach (DataRow dr in dt.Rows) 
     { 
      items.SetValue(Convert.ToString(dr["somenumber"]+"foo"), i); 
      i++; 
     } 
... 

Похоже, ошибка для меня.

1

Я попытался ниже код и он работал на меня:

items.SetValue("'"+dr["somenumber"]+"'", i); 
0

Существует разница между версиями DLL инструментария.

В обновленной версии не нужно вставлять «+» и «+», и она отлично работает. В версии 1.0.10920 это необходимо.

0

http://www.asp.net/ajax В этой ссылке вы найдете AjaxControllToolkit, просто скачайте ее и добавьте ссылку в приложение ur, я уверен, что она будет работать нормально. проблема заключается в работе с очень старым AjaxControllToolkit, поэтому он не работает, работает с AjaxControllToolkit 3.5 или 4.0.

Смежные вопросы