c# - 我无法在返回行中将 ActionResult 方法的结果转换为 JsonResult。我在 Visual Studio 2019 中遇到错误
问题描述
我是 C#、ASP.NET Core 和 LINQ 的新手。我一直在研究一种用于自动完成的操作方法。我只是在 Razor 页面 C# 上工作。我无法复制许多不同的返回ActionResult
JSON 的代码示例:
public ActionResult SwordSearch(string term)
{
var searchResult = _context.SMReferenceDB
.Where(Swordmakers => Swordmakers.LastName.Contains(term))
.Select(Swordmakers => Swordmakers.LastName)
.ToList();
return JsonResult(searchResult, JsonRequestBehavior.AllowGet);
}
在 Visual Studio 中,我在以下位置收到此错误JsonResult
:
错误 CS 1955 不可调用的成员 'JsonResult' 不能像方法一样使用。
我已经尽我所能,我去了许多 Razor 和 MVC 的自动完成示例,它们都使用JsonResult
or JSON。我有所有的参考资料和 NuGet 包。这似乎是确保您的结果以 JSON 格式返回的一种正常方式。
由于此错误,我无法构建解决方案,我还复制并粘贴了代码示例,并在 VS 中得到相同的红色下划线错误。感谢您的帮助。我很困惑,在这条线上工作了几个小时。
解决方案
与控制器上用于返回 ActionResults 之类的其他一些辅助方法不同,orOk
是一种类型,而不是一种方法。您需要创建一个新的来返回它,如下所示:NotFound
JsonResult
JsonResult
return new JsonResult(searchResult);
我们省略了JsonRequestBehavior
inasp.net 核心,因为它已被弃用。您可以在此处选择传入自定义序列化程序设置。
您还应该能够调用控制器的Json
方法。
return Json(searchResult);
推荐阅读
- java - 对象变量独立性
- r - 如何从R中的.kmz文件中提取多个位置的坐标和名称(标签)
- c++ - 何时在 C++ 对中使用点和箭头运算符?
- python - 将此数组数组转换为字典数组
- javascript - 如何正确使用多个 setInterval 以不同的时间间隔运行不同的功能?
- python - 将 API 调用转换为字典列表以写入数据帧
- php - TMDB PHP 结果数组
- sql - 按条件选择具有最大 CreatedOn 组的行
- asp.net-mvc - 如何在 ASP.Net MVC 后面的代码中获取 HTML 输入 ID?在控制器上还是在模型上?
- python-3.x - 支持向量分类器的决策边界图(与分离超平面的距离)