自动填充未出现在视图中,ASP.NET MVC

时间:2019-03-07 04:48:47

标签: javascript jquery asp.net-mvc

我的视图中有一个字段,它是一个文本框字段。但是我想将该字段更改为“自动完成”下拉列表。

以下是我的观点:

@Html.TextBoxFor(model => model.SearchFilterPaymentCode, new { @class = "form-control", @id = "searchInput1" })
@Html.HiddenFor(model => model.ID)

<script>
    $(document).ready(function () {
      $("#searchInput1").autocomplete({
         source: function (request, response) {
            $.ajax({
               url: '@Url.Action("getJenisPembayaran", "Payment1")',
               dataType: "json",
                 data: {
                      term: request.term
                 },
                 success: function (data) {
                    response($.map(data, function (val, item) {
                      return {
                          label: val.Name,
                          value: val.Name,
                          ID: val.ID
                      }
                    }))
                 }
            })
         },
         select: function (event, ui) {
            $("#ID").val(ui.item.ID);
            $("#SearchFilterPaymentCode").val(ui.item.label);
         }
      });
    })
</script>

下面是我的控制器

public JsonResult getJenisPembayaran(string term)
{
    var objCustomerlist = db.ParamJenisPembayarans.Where(x => x.Name.ToUpper()
                                .Contains(term.ToUpper()))
                                .Select(x => new ParamJenisPembayaranViewModel
                                {
                                    ID = x.ID,
                                    JenisPembayaran = x.Name
                                }).Distinct().ToList();
    return Json(objCustomerlist, JsonRequestBehavior.AllowGet);
}

当我调试控制器并用几个词填充文本框时,我从数据库中获取了一些数据,这意味着控制器运行良好,但数据未出现在视图中。我的代码有什么问题?

0 个答案:

没有答案