Kendo AutoComplete小部件有问题。Kendo AutoComplete在重新键入搜索字符串时不会重新查询数据源
我试图在用户输入其搜索的前两个字符后查询数据源。 在服务器(web api)上,我使用这两个字符来限制搜索,并且一切正常,即,如果我继续输入搜索内容,则会返回一个子集并正确显示并进一步过滤。
但是,我然后重新键入一个新的搜索条目,其中不再向数据源发回,所以我被从第一个查询中检索到的数据卡住了。
我该如何解决这个问题?
感谢
这里是我的测试代码:
public class AlbumsController : ApiController
{
HttpRequest _request = HttpContext.Current.Request;
// GET api/albums
public IEnumerable<Album> GetForAutoComplete()
{
string sw = _request["sw"] == null ? "" : _request["sw"].ToString();
var query = (from a in Albums.MyAlbums
where a.Title.ToLower().StartsWith(sw)
orderby a.Title
select a).ToArray();
return query;
}
和我在客户端上的JavaScript是这样的:
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/api/Albums/GetForAutoComplete",
data: {
sw: function() {
return $("#albumSearch").data("kendoAutoComplete").value();
}
}
}
}
});
$("#albumSearch").kendoAutoComplete({
dataSource: dataSource,
dataTextField: "Title",
minLength: 2,
placeholder: "type in here.."
});
可能重复的[Kendo UI自动完成数据源传输只读一次](http://stackoverflow.com/questions/12560736/kendo-ui-autocomplete-datasource-transport-reads-only-once) – ManirajSS