在我的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);
}
}
- 更新**:
请注意以下来自@NateBarbettini的评论:
JsonRequestBehavior
在ASP.NET核心1.0中已被弃用。
1.在下面@Miguel接受的响应中,动作方法does not
的return type
特别需要类型为JsonResult,ActionResult或IActionResult也可以。
5条答案
按热度按时间3okqufwl1#
返回JSON格式的数据:
disho6za2#
在代码中,将To
JsonRequestBehavior.AllowGet
替换为new Newtonsoft.Json.JsonSerializerSettings()
它的工作原理与
JsonRequestBehavior.AllowGet
相同bxjv4tth3#
有时候你需要用JSON返回一条消息,只需使用如下JSON结果,不再需要jsonrequestbehavior,下面是简单的代码:
qeeaahzv4#
你好作为控制器中接受的答案,你不必说
只管写
但是在 AJAX 的cshtml中,你应该用小写字母来调用你的实体属性,比如:shortCode和name。
oxalkeyp5#
我一直在移植一个网站从asp.net到ASP.NET核心。我取代:
return Json(data, JsonRequestBehavior.AllowGet);
与Json(data, new System.Text.Json.JsonSerializerOptions());
和一切又开始工作。