ドロップダウンリストに入力された文字に応じて、サーバー側のフィルタリングを使用します。私は次のコードを使用しています :Kendo DropDownListForが予期せぬリクエストを送信します
@(Html.Kendo().DropDownListFor(m => m.VoucherReceiverCustomerId)
.Name("VoucherReceiverCustomerId")
.DataValueField("Value")
.DataTextField("Text")
.Filter(FilterType.StartsWith)
.AutoBind(false)
.MinLength(1)
.Delay(250)
.DataSource(ds => ds
.Read(read => read.Url(Url.Action("Customer_List", "Customer")))
.ServerFiltering(true)
)
.Events(evt => evt.Filtering("test").Open("test2"))
)
を、私は、ユーザーが少なくとも一つの文字を入力した後、データソースの要求を送信するために、リストを期待したいです。 しかし、実際には、リストはドロップダウンリストをクリックした直後に(文字を入力するために)リクエストを送信します。さらに、イベントFiltering
もOpening
も発火しない。 オプションMinLength
を1より大きくすると、実際に予想される動作になります。
この問題を回避するには、Filtering
イベントを使用して、文字が入力された後で手動でdataSourceを要求することができます。 しかし、それまでデータソースの読み込みを禁止するにはどうすればよいですか? 通常は、AutoBind
というオプションを設定するだけで十分ですが、この場合は使用できません。