我通过在控制器中使用以下方法将这个剑道 ui 自动完成小部件用于文本框:
public ActionResult GetItems(string term)
{
ContextObject contextObject = new ContextObject();
TransactionHistory transactionhistory = new TransactionHistory();
var items = transactionhistory.GetItems(contextObject, term);
// the above method will gives list of strings
return Json(items, JsonRequestBehavior.AllowGet);
}
这是我的观点:
@(Html.Kendo().AutoComplete()
.Name("ItemSearch")
.DataTextField("RPersonDetails")
.DataSource(source => {
source.Read(read =>
{
read.Action("GetItems", "TransactionHistoryResults")
.Data("onAdditionalData");
})
.ServerFiltering(true);
})
.HtmlAttributes(new { style = "width:100px" })
)
<script type="text/javascript">
function onAdditionalData() {
return {
text: $("#ItemSearch").val()
};
}
</script>
在链接中,我们有datatextfield用于指定自动完成要使用的 Product(table) 的哪个属性,在我的场景中,此方法transactionhistory.GetItems(contextObject, term);
提供字符串列表,因此在这种情况下,我需要在此字段DataTextField("RPersonDetails")
中提及的地方RPersonDetails
。
我需要更改 GetItems 方法吗?请对此提出任何建议和想法......非常感谢提前......