我想根据下拉列表中输入的字符使用服务器端过滤。 我使用以下代码:
@(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请求。
但事实上,列表在点击下拉列表后立即发送请求(为了输入字符)。此外,事件Filtering
和Opening
都不会触发。
将选项MinLength
的参数增加到> 1导致实际的预期行为。
要解决此问题,我可以使用Filtering
事件,并在输入字符后手动请求dataSource。
但是在那之前我怎么能阻止dataSource读取呢?
通常设置选项AutoBind
就足够了,但在这种情况下不是。
答案 0 :(得分:0)
有趣 - 设置选项MinLength
至 0 实际上表现为值 1 的预期。
所以我现在得到了一个解决方案。但是,记录的问题仍然存在。