Почему мой ASP.NET AutoCompleteExtender возвращает неопределенное значение? - PullRequest
3 голосов
/ 09 октября 2008

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

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

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

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

Ответы [ 7 ]

4 голосов
/ 03 ноября 2008

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

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

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

1 голос
/ 21 апреля 2009

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

items.SetValue("'"+dr["somenumber"]+"'", i);
0 голосов
/ 25 июня 2013

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

0 голосов
/ 07 апреля 2011

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

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

0 голосов
/ 01 ноября 2008

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

это выбивает неопределенные ....

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

Мне кажется, что это ошибка.

0 голосов
/ 10 октября 2008

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

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

Скотт.

0 голосов
/ 09 октября 2008

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

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...