2016-12-07 5 views
0

ドロップダウンリストに入力された文字に応じて、サーバー側のフィルタリングを使用します。私は次のコードを使用しています :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")) 
      ) 

を、私は、ユーザーが少なくとも一つの文字を入力した後、データソースの要求を送信するために、リストを期待したいです。 しかし、実際には、リストはドロップダウンリストをクリックした直後に(文字を入力するために)リクエストを送信します。さらに、イベントFilteringOpeningも発火しない。 オプションMinLengthを1より大きくすると、実際に予想される動作になります。

この問題を回避するには、Filteringイベントを使用して、文字が入力された後で手動でdataSourceを要求することができます。 しかし、それまでデータソースの読み込みを禁止するにはどうすればよいですか? 通常は、AutoBindというオプションを設定するだけで十分ですが、この場合は使用できません。

答えて

0

おかしい - 1の値ために期待するとしてにオプションMinLengthを設定するには、実際に動作します。

私は今、解決策を得ています。しかし、文書化された問題は依然として存在します。

関連する問題