如何在MVC中执行自动完成文本框

时间:2018-10-21 09:14:04

标签: c# jquery asp.net-mvc autocomplete

我一直在尝试完成一个带有文本框的需求,在其中我需要执行自动完成功能。我有一个具有两个属性的模型,即名称和值。因此,我列出了城市名称及其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 };
                }))

            }
        })
    }
});

1 个答案:

答案 0 :(得分:0)

像这样更改网址格式

url:“ / Home / FillViewData”,