我正在尝试创建一个搜索框,用于在用户输入时显示结果。
我在部分视图中有以下内容:
@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)
我无法理解问题出在哪里。 任何帮助将不胜感激。 提前谢谢。
答案 0 :(得分:2)
我会添加评论,但我还不能。
请发布更多详细信息,因为HTTP 500可能意味着很多事情
您是否查看过浏览器开发者工具网络标签有关错误的详细信息?
您是否尝试过调试并获取异常详细信息?
可能会关闭customErrors
中的web.config
以获取有关问题详情的YSOD,并在此处发布。
答案 1 :(得分:0)
我得到了解决方案。 我需要在RouteConfig.cs文件中创建新的路由。 然后我将源更改为使用'@ Html.Action(“ActionMethodName”,“ControllerName”)' 这对我来说就像一个魅力:) 希望这可以帮助遇到麻烦的其他人。