在自动填充中将ID与文本绑定为值

Rah*_*hul 8 asp.net-mvc jquery html-helper kendo-ui kendo-autocomplete

我正在使用Kendo Autocomplete,因为我正在填写Text并使用该文本解析数据,但我想使用ID作为Value在Form Submit上的服务器端发送它.

我正在使用这个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);
                                  })
                            )   
Run Code Online (Sandbox Code Playgroud)

请尽快帮助我.

Rah*_*hul 17

我以另一种方式完成了这个,我为其ID值设置了一个隐藏类型,即"CustomerID"为

@Html.HiddenFor(x=>x.CustomerID)
Run Code Online (Sandbox Code Playgroud)

和更改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);
                                      })
                                )    
Run Code Online (Sandbox Code Playgroud)

为此,我使用Javascript函数::

<script>
//Set CustomerID
    function CustomerSelect(e)
    {
        var DataItem = this.dataItem(e.item.index());
        $("#CustomerID").val(DataItem.CustomerID);
}
</script>
Run Code Online (Sandbox Code Playgroud)

我在提交表格时使用的这个价值.谢谢你的帮助.