首页 > 解决方案 > 如何在 MVC 中自动完成文本框

问题描述

我一直在尝试完成一个要求,该要求有一个文本框,我需要在其中执行自动完成功能。我有一个模型,它有两个属性,名称和值。因此,我是 CityNames 及其 ID 的列表。因此,在输入名称时,系统应该获取 ID。我一直在尝试,但没有找到任何解决方案。谁能帮帮我!!

这是我的控制器

[HttpPost]
public JsonResult FillViewData(string term)
{
    List<City> list = new List<City>()
    {
        new City{ Name = "Vijay", Id = 1 },
        new City{ Name = "Ratan", Id = 2 },
        new City{ Name = "Payo", Id = 3 },
        new City{ Name = "Hari", Id = 4 },
        new City{ Name = "Krish", Id = 5 }
    };
    var CityName = (from N in list
                where N.Name.StartsWith(term)
                select new { N.Name });
    return Json(CityName, JsonRequestBehavior.AllowGet);
}

看法:

@Html.TextBox("searchName", null,new { name = "txtSearch"})

JS:

<script type="text/javascript">
$("#txtSearch").autocomplete({
    source: function (request, response) {
        $.ajax({
            url: 'Home/FillViewData',
            type: "POST",
            dataType: JSON,
            data: { Prefix: request.term },
            success: function (data) {
                response($.map(data, function (item) {
                    return { label: item.Name, value: item.Name };
                }))

            }
        })
    }
});

标签: c#jqueryasp.net-mvcautocomplete

解决方案


像这样更改网址格式

url: '/Home/FillViewData',


推荐阅读