2011-10-28 39 views
1

テキストフィールド(AutoCompleteExtender)でオートコンプリートのためにMicrosoft ASP.Net AJAXフレームワークを使用します。 JSON JavaScriptSerializerを使用して直列化または直列化復元時にシリアル化またはJSON JavaScriptSerializerを使用した逆シリアル化中のエラー

エラー:

私はエラーを取得しています。文字列の長さがmaxJsonLengthプロパティの値 を超えています。このエラーについて

いくつかの奇妙な:

  • はエラーが私の溶液中のすべての単一のWebサービスは、(私は空の配列を返すようにそれらを変更された)何も返さない場合でも、スローされます。
  • のweb.configでは、jsonSerialization maxJsonLengthが最大値2147483644に設定されています。このページのWebサービスは、いくつかの結果を返すことになっています。
  • エラーの原因はjavascript関数にありますが、関数は決して実行されないので、Webサービスは実際には呼び出されません。
  • AutoCompleteExtenderをすべて削除し、 aspxの内側に "end if"というエラーが表示されます。私はaspxのすべての "If"を削除すると、なぜ私に言わずにクラッシュします。楽しい!

<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アイテムが回収されました。大したことはありません、そうですか?ハム。

+0

それでどうやって修正しましたか? –

+0

実際、Telerik Comboboxは140,000アイテムを捜索する予定はありませんでした。私はそれを修正した(それはいくつかのドーズ項目を返した)、そしてそれは働いた。同じ問題が発生した場合は、ページ上のすべてのサードパーティコンポーネントを無効にするか、ドロップダウンの長さなどを確認してください。あなたのページの何かがJSONを使用してあまりにも多くのアイテムを取り戻しています。それが何であるかを調べる。 – thomasb

関連する問題