Kendo ui 剑道ui自动完成,如何绑定加载数据?
我正在使用带有mvc的剑道ui自动完成小部件 我的index.cshtml文件如下所示Kendo ui 剑道ui自动完成,如何绑定加载数据?,kendo-ui,Kendo Ui,我正在使用带有mvc的剑道ui自动完成小部件 我的index.cshtml文件如下所示 <div class="filter-value"> @(Html.Kendo().AutoComplete() .Name("InspectorId") .DataTextField("RPersonDetails") ) </div> wireEvents: function () { $("#InspectorId").bind("k
<div class="filter-value">
@(Html.Kendo().AutoComplete()
.Name("InspectorId")
.DataTextField("RPersonDetails")
)
</div>
wireEvents: function () {
$("#InspectorId").bind("keyup", function () { AISApp.Page.populateDropDown($(this).val()) });
},
populateDropDown: function (value) {
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: AISApp.Page.getSuburbsURL,
data: {
text: value
}
}
}
});
var dd = $('#InspectorId').data("kendoAutoComplete");
dd.setDataSource(dataSource);
},
这是可行的,但我只是想知道这是正确的方法,还是有没有一种方法不使用keyup事件,只使用剑道事件
谢谢在.cshtml中,有一种方法可以使用剑道助手使用URL绑定到数据源。然后,您可以让它在按下某个键时自动从URL重新读取数据。 基本上,它将javascript键控代码移动到助手的代码中 代码类似于以下示例:
<div class="filter-value">
@(Html.Kendo().AutoComplete()
.Name("InspectorId")
.DataTextField("RPersonDetails")
.Filter("contains")
.DataSource(source => {
source.Read(read =>
{
read.Action("GetProducts", "Home")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
)
</div>
<script>
function onAdditionalData() {
return {
text: $("#InspectorId").val()
};
}
</script>
@(Html.Kendo().AutoComplete())
.姓名(“检查员”)
.DataTextField(“RPersonDetails”)
.过滤器(“包含”)
.DataSource(source=>{
source.Read(Read=>
{
阅读.行动(“获取产品”、“主页”)
.数据(“非附加数据”);
})
.ServerFiltering(true);
})
)
附加数据()上的函数{
返回{
文本:$(“#检查ID”).val()
};
}
我试图避免使用此。。因为它创建了全局javascript函数。以后没有其他绑定方法吗?您不能使用MVC扩展,而是用javascript创建小部件。那你就可以避开全局。我不明白自动完成是怎么得到数据的。似乎需要在控制器中加载一个列表: