2011-10-28 3 views
1

Я использую структуру Microsoft ASP.Net AJAX для объекта автозаполнения в текстовом поле (AutoCompleteExtender).Ошибка при сериализации или десериализации с использованием JSON JavaScriptSerializer

Я получаю сообщение об ошибке:

Ошибка при сериализации или десериализации с помощью JSON JavaScriptSerializer. Длина строки превышает значение по свойству maxJsonLength.

Несколько странные вещи об этой ошибке:

  • ошибка выброшенные даже тогда, когда каждый вебсервис в моем решении возвратного ничего (я изменил их возвращать пустые массивы);
  • в web.config, jsonSerialization maxJsonLength устанавливается на максимальное значение 2147483644, и веб-службы на этой странице должны возвращать несколько результатов;
  • это говорит источник ошибки в яваскрипта функции, но функция никогда не работать, так что вебсервис никогда на самом деле называется:
  • , когда я удаляю все AutoCompleteExtender и каждый вызов любого веб-сервиса на странице, его начинает бросать мне ошибки на «end if» внутри aspx. Когда я удаляю каждое «If» в aspx, он падает, не сообщая мне, почему. Весело !

<script type="text/javascript"> 
    var tbEntrIdFonctionItemSelected = function(sender, e) { 
     $get('<%=Me.FormViewContact.FindControl("hdn_AgenceIdFonctionSearch").ClientID%>').value = e.get_value(); // source of the error 
    } 
</script> 

Как вы думаете, может быть причиной этой проблемы?

Благодаря

+0

Я думаю, что эта статья может дать вам несколько предложений. http://www.codeproject.com/Articles/272335/JSON-Serialization-and-Deserialization-in-ASP-NET –

ответ

1

OK, поэтому после небольшого слежения, я заметил, что Telerik выпадающий был источником ошибки. И, судя по всему, он возвращал (используя JSON, следовательно, ошибку) очень небольшое количество 140 000 предметов. Ничего страшного, не так ли? Hum.

+0

Итак, как вы это исправили? –

+0

Ну, на самом деле Telerik Combobox не должен был возвращать 140 000 предметов. Я исправил это (он вернул несколько дозовых предметов), и он сработал. Если у вас есть такая же проблема, попробуйте отключить каждый сторонний компонент на своей странице или проверьте длину выпадающих списков и т. Д. Что-то на вашей странице выдает слишком много предметов с помощью JSON; узнайте, что это такое. – thomasb

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