在我的ASP.NET Core(.NET Framework)项目中,我的以下控制器操作方法出现上述错误.我可能错过了什么?或者,有什么解决办法吗?:

public class ClientController : Controller
{
    public ActionResult CountryLookup()
    {
        var countries = new List<SearchTypeAheadEntity>
        {
            new SearchTypeAheadEntity {ShortCode = "US", Name = "United States"},
            new SearchTypeAheadEntity {ShortCode = "CA", Name = "Canada"}
        };
        
        return Json(countries, JsonRequestBehavior.AllowGet);
    }
}

UPDATE:

请注意@NateBarbettini的以下 comments :

  1. JsonRequestBehavior在ASP中已被弃用.NET核心1.0.
  2. 在下面@Miguel的接受响应中,操作方法does notreturn type特别需要是JsonResult类型.ActionResult或IActionResult也可以.

推荐答案

返回Json格式的数据:

public class ClientController : Controller
{
    public JsonResult CountryLookup()
    {
         var countries = new List<SearchTypeAheadEntity>
         {
             new SearchTypeAheadEntity {ShortCode = "US", Name = "United States"},
             new SearchTypeAheadEntity {ShortCode = "CA", Name = "Canada"}
         };

         return Json(countries);
    }
}

Asp.net相关问答推荐

Razor中的共享本地化资源文件

try 在 .net 中使用 MS Graph 添加新的应用程序角色时出现 ODataError

由于 Blazor Change Detection API,组件重新渲染被跳过.如何避免?

如何在 GridView 单元格中的(即
)中呈现解码的 HTML

ASP.NET @Register 与 @Reference

如何异步渲染局部视图

使用 JavaScript 更改 ASP.NET 标签的可见性

在 cookie 中存储多个值

ASP.NET MVC 5 中的路由可选参数

如何在 ASP.NET MVC3 中配置区域

嵌套剃刀模板中的@RenderSection

如何在新选项卡中打开 asp:HyperLink.NavigateUrl

MVC5 身份验证中的......与主域之间的信任关系失败

如何在 ASP.Net 网络表单中使用标签?

IIS Express 安装目录在哪里?

您正在使用哪些身份验证和授权方案 - 为什么?

HttpContext.Current.Request.Url.Host 它返回什么?

Application_Start 和 Application_OnStart 之间的区别

中继器中的中继器

如何将 DataTable 转换为类 Object?