0

-大家好,我正在尝试在 jquery 中使用自动完成功能,这是我的代码:

- 此操作放置在名为 Agence 的控制器上,位于名为 Admin 的区域中。

public JsonResult GetAgences(string term)
        {
            return Json(_agenceRepo.SearchByNom(term), JsonRequestBehavior.AllowGet);
        }

- 这是将值返回给 JSon 的存储库的方法:

public IList<Agence> SearchByNom(string nom)
        {
            return _context.Agences.Where(a => a.Nom.Contains(nom)).ToArray();
        }

- 这是 jquery 代码:

<label for="completeMe">Find:</label>
<input type="text" id="completeMe" />
<script type="text/javascript">
    $(function () {
        $("#completeMe").autocomplete({
            source: '@Url.Action("GetAgences", "Agence")',
            minLength: 1
            }
        });
    });
</script>

-所有这些代码都放在一个页面中,即具有搜索字段的页面。- 这是我在母版页上的 JQuery 引用:

<meta charset="utf-8" />
    <title>@ViewBag.Title - My ASP.NET MVC Application</title>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    @Styles.Render("~/Content/css")
    <link href="@Url.Content("~/Content/themes/base/Bootstrap/bootstrap.css")" rel="stylesheet" type="text/css" />
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/jquery")
    <script src=  "@Url.Content("~/Scripts/Bootstrap/bootstrap.min.js")" type="text/javascript"></script>

- 我遵循了所有需要的步骤,但是当我想要搜索结果时没有任何反应。我怀疑问题出在我的 jQuery 引用中。谢谢你。

4

1 回答 1

0

我认为您的 ajax 调用有问题,您没有指定参数。这样做:

<script type="text/javascript">
$(function () {
    $("#completeMe").autocomplete({
        source: '@Url.Action("GetAgences", "Agence")',
        data: {term: 'xyz'}
        minLength: 1
        }
    });
});

于 2013-06-18T07:07:29.337 回答