0

EnableLoadONLoad = True で Telerik Combobox を使用しています。つまり、エンド ユーザーが文字を入力するたびに、サーバー側のイベントが開始され、その単語のレコードがプルされます。たとえば、ドロップダウン ボックスに「America」と入力すると、システムは A、AM、AME などを検索し、それらの文字に一致する結果を表示します。したがって、上記の場合、システムはサーバー側イベントを 7 回 ick します。問題は、検索機能に時間がかかることです(レコードをプルするのに5〜10秒かかります..私の制御を超えています:() 1 秒後、システムに検索を開始させ、1 秒以内にエンド ユーザーが必要なものを入力してくれることを願っています。これで、ユーザーに最低 5 文字などの入力を強制できますが、エンド ユーザーは 1 文字または複数文字で検索できます。彼らはノーで制限されたくありません。ビジネス要件による手紙の。

4

2 に答える 2

0

'ItemRequestTimeout' を 1000 ミリ秒単位で指定するだけで、サーバーに送信する前にコンボボックスに 1 秒待機するように指示できます。

于 2012-05-22T14:32:42.627 に答える
0

コンボボックスの itemRequestTimeout はデフォルトで 300 で、これは 10 分の 3 秒です。ブライアンが提案したことを実行するとうまくいきますが、デフォルトでは通常、ポストバックが発生するまでに十分な時間がかかることがわかりました。

また、ComboBoxes に組み込むMarkFirstMatch="true"と、テキストに一致するアイテムが存在する場合は自動的にそこに移動します。

http://demos.telerik.com/aspnet-ajax/combobox/examples/populatingwithdata/autocompletesql/defaultcs.aspx

これにより、他のオプションもいくつか提供されるはずです。

ただし、ポストバックが発生する前にユーザーに 5 文字の入力を強制する限り、おそらく onkeyup および onkeydown JavaScript イベントを実行して、5 文字が入力されたかどうかを確認する必要があります。その後、ポストバックが発生する可能性があります。
または、Telerik コンボボックスの OnClientkeyPressing プロパティを使用してチェックを行うこともできます。

 function OnClientKeyPressing(comboBox, args)
   {
       if (comboBox.get_text().length > 4) {
         //Do postback here
   }
  }

そのようなものは、私が信じていることをするでしょう。

于 2012-05-24T21:39:21.407 に答える