Kendo DropDownListFor发送意外请求

时间:2016-12-07 10:29:31

标签: kendo-ui

我想根据下拉列表中输入的字符使用服务器端过滤。 我使用以下代码:

  @(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"))
            )

我希望列表在用户输入至少一个字符后发送dataSource请求。 但事实上,列表在点击下拉列表后立即发送请求(为了输入字符)。此外,事件FilteringOpening都不会触发。 将选项MinLength的参数增加到> 1导致实际的预期行为。

要解决此问题,我可以使用Filtering事件,并在输入字符后手动请求dataSource。 但是在那之前我怎么能阻止dataSource读取呢? 通常设置选项AutoBind就足够了,但在这种情况下不是。

1 个答案:

答案 0 :(得分:0)

有趣 - 设置选项MinLength 0 实际上表现为值 1 的预期。

所以我现在得到了一个解决方案。但是,记录的问题仍然存在。