Jquery自动完成不能在ASP.NET MVC 5上运行

  • 我正在关注的教程

嗨,我正在使用本教程实现jquery自动完成ASP.NET教程第76部分在mvc中实现自动完成文本框function https://www.youtube.com/watch?v=MmBdMZJ3Jlo

  • 问题

当我在输入框中键入内容时,自动完成function不起作用

  • 描述

我已经实现了搜索function和它的工作正常,但我坚持jQuery的自动完成function。 我已经搜索了很多谷歌和堆栈溢出以前的问题,我尝试了一切,但无法解决我的问题。

这是我的自动完成代码(我没有包含搜索代码)

Index.cshtml

      $(document).ready(function () { $("#txtSearch").autocomplete({ source: '@Url.Action("GetAirports")' }); });  @using(@Html.BeginForm()) { 
AirPort Code: @Html.TextBox("SearchTerm", null, new { id="txtSearch"}) }

和我的控制器代码

HomeController.cs

 public JsonResult GetAirports(string term) { traveloticketEntities db = new traveloticketEntities(); List Airports = new List(); Airports = db.IataAirportCodes.Where(x => x.code.StartsWith(term)).Select(y=>y.code).ToList(); return Json(Airports, JsonRequestBehavior.AllowGet); } 

我得到了解决方案。 非常感谢@mason的帮助。 我在客户端控制台上检查了我的代码(谷歌Chrome控制台使用F12),我发现_Layout.cshtml在我的index.cshtml文件末尾添加了其他jQuery库,这些库在index.cshtml中覆盖了我的库。 所以我从_Layout.css中删除了这段代码

  @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryval") 

并按以下顺序将我的jQuery库放在Index.cshtml中

    

我不确定您使用的是哪个版本的Visual Studio。 在2013年,我对jquery自动完成没有任何问题。 但是,在2015年,他们没有包含jquery ui脚本。 我必须通过nuget添加它,然后在它工作之前将它添加到bundleConfig.cs。

我的脚本部分包括以下内容:@ Scripts.Render(“〜/ bundles / jquery”)@ Scripts.Render(“〜/ bundles / jqueryval”)@ Scripts.Render(“〜/ bundles / jqueryui”)

为什么Microsoft不在Visual Studio 2015中包含jquery ui? 我很想知道答案。