我正在使用Kendo Autocomplete,因为我正在填写Text并使用该文本解析数据,
但我想使用ID作为值在表单提交的服务器端发送它.
但我想使用ID作为值在表单提交的服务器端发送它.
我正在使用这个Kendo编辑器但是无法将“CustomerID”绑定为自动完成的值::
@(Html.Kendo().AutoComplete() .Name("Customers") .DataTextField("CustomerShortName") .Value("CustomerID") .Filter("contains") .MinLength(3) .Template("<label>${ data.CustomerShortName }</label>") .HtmlAttributes(new { disabled="disabled" }) .DataSource(source => { source.Read(read => { read.Action("GetCustomers","GetData"); }) .ServerFiltering(true); }) )
请尽快帮助我.
解决方法
我以另一种方式做到了这一点,
我为其ID值设置了一个隐藏类型,即“CustomerID”为
我为其ID值设置了一个隐藏类型,即“CustomerID”为
@Html.HiddenFor(x=>x.CustomerID)
并且在更改kendo自动完成时我写了一些事件,
@(Html.Kendo().AutoComplete() .Name("Customers") .DataTextField("CustomerShortName") .Events(events => events.Select("CustomerSelect")) .Filter("contains") .MinLength(3) .Template("<label>${ data.CustomerShortName }</label>") .HtmlAttributes(new { disabled="disabled" }) .DataSource(source => { source.Read(read => { read.Action("GetCustomers","GetData"); }) .ServerFiltering(true); }) )
为此,我使用Javascript函数::
<script> //Set CustomerID function CustomerSelect(e) { var DataItem = this.dataItem(e.item.index()); $("#CustomerID").val(DataItem.CustomerID); } </script>
我在提交表格时使用的这个价值.谢谢你的帮助.