ASP.NET MVC 5 jQuery UI自动完成搜索框

时间:2017-01-03 11:43:31

标签: jquery-ui asp.net-mvc-5

我正在尝试创建一个搜索框,用于在用户输入时显示结果。

我在部分视图中有以下内容:

@Html.EditorFor(m => m.CategoryName, new { htmlAttributes = new { @id = "inputCat", @class = "form-control", @placeholder = "Enter category name...", @spellcheck = "true" } })

在我的主视图中,我加载了部分视图:

$('#inputCat').autocomplete({
    source: 'Editor/SearchCategory'
});

这是我的控制器动作:

public ActionResult SearchCategory(string term)
{
    ApplicationDbContext db = new ApplicationDbContext();
    return Json(db.Categories.Where(cat => cat.CategoryName.StartsWith(term)), JsonRequestBehavior.AllowGet);
}

当我在浏览器控制台中输入输入字段时,出现此错误:

GET http://localhost:port/Editor/SearchCategory?term=s 500 (Internal Server Error)

我无法理解问题出在哪里。 任何帮助将不胜感激。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

我会添加评论,但我还不能。

请发布更多详细信息,因为HTTP 500可能意味着很多事情

您是否查看过浏览器开发者工具网络标签有关错误的详细信息?

您是否尝试过调试并获取异常详细信息?

可能会关闭customErrors中的web.config以获取有关问题详情的YSOD,并在此处发布。

答案 1 :(得分:0)

我得到了解决方案。 我需要在RouteConfig.cs文件中创建新的路由。 然后我将源更改为使用'@ Html.Action(“ActionMethodName”,“ControllerName”)' 这对我来说就像一个魅力:) 希望这可以帮助遇到麻烦的其他人。